Hopefully last changes for building with MSC.
authorWerner Koch <wk@gnupg.org>
Wed, 3 Nov 2010 10:33:10 +0000 (10:33 +0000)
committerWerner Koch <wk@gnupg.org>
Wed, 3 Nov 2010 10:33:10 +0000 (10:33 +0000)
src/ChangeLog
src/debug.c
src/signers.c
src/w32-ce.c
src/w32-ce.h
src/w32-util.c

index 207647ece832e1797d71856290a7b4702753ad52..53de1f5d6ac10bd85909a0b64a69542ad0257f1e 100644 (file)
@@ -1,10 +1,18 @@
 2010-11-03  Werner Koch  <wk@g10code.com>
 
+       * debug.c (_gpgme_debug) [W32CE]: Replace locatime by GetLocalTime.
+
+       * signers.c (gpgme_signers_clear): Remove useless return.
+       Reported by Patrick Spendrin.
+
+       * w32-util.c: s/__inline__/GPG_ERR_INLINE/
+
        * setenv.c: Include string.h due to our strerror replacement.
 
-       * w32-ce.h (access): New macro.
+       * w32-ce.h (access, bsearch): New macros.
        * w32-ce.c (_gpgme_wince_access): New.
        (RegQueryValueExA): Change DATA to a void*.
+       (_gpgme_wince_bsearch): New.  Taken from glibc 2.6.
 
        Guard include of sys/stat.h and sys/types.h.
 
index 1d9a40eb08f884d64496e28da3ddecbcdb5494a6..34c5d18f54cf6da0638e514c1cfa9778ba6c998c 100644 (file)
@@ -209,6 +209,15 @@ _gpgme_debug (int level, const char *format, ...)
   va_start (arg_ptr, format);
   LOCK (debug_lock);
   {
+#ifdef HAVE_W32CE_SYSTEM
+    SYSTEMTIME t;
+
+    GetLocalTime (&t);
+    fprintf (errfp, "GPGME %04d-%02d-%02d %02d:%02d:%02d <0x%04llx>  ",
+            t.wYear, t.wMonth, t.wDay,
+            t.wHour, t.wMinute, t.wSecond,
+            (unsigned long long) ath_self ());
+#else
     struct tm *tp;
     time_t atime = time (NULL);
     
@@ -217,6 +226,7 @@ _gpgme_debug (int level, const char *format, ...)
             1900+tp->tm_year, tp->tm_mon+1, tp->tm_mday,
             tp->tm_hour, tp->tm_min, tp->tm_sec,
             (unsigned long long) ath_self ());
+#endif
   }
 #ifdef FRAME_NR
   {
index 021a878ddb94bfc8e22f6de912975029f8b0e277..ae74e81558bf5a6a11b602e5faea54f06459c4f2 100644 (file)
@@ -57,7 +57,7 @@ void
 gpgme_signers_clear (gpgme_ctx_t ctx)
 {
   TRACE (DEBUG_CTX, "gpgme_signers_clear", ctx);
-  return _gpgme_signers_clear (ctx);
+  _gpgme_signers_clear (ctx);
 }
 
 
index b7dfc38bc0da67ee7c30fb19bc2b98368dcc139b..88a8f3162f23efbd2c7ae2eec6e0ce063361aeed 100644 (file)
@@ -1,5 +1,6 @@
 /* w32-ce.h 
    Copyright (C) 2010 g10 Code GmbH
+   Copyright (C) 1991,92,97,2000,02 Free Software Foundation, Inc.
 
    This file is part of GPGME.
  
@@ -14,9 +15,8 @@
    Lesser General Public License for more details.
    
    You should have received a copy of the GNU Lesser General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA.  */
+   License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
 
 #ifdef HAVE_CONFIG_H
 #include <config.h>
@@ -473,3 +473,35 @@ _gpgme_wince_access (const char *fname, int mode)
     }
   return 0;
 }
+
+
+/* Perform a binary search for KEY in BASE which has NMEMB elements
+   of SIZE bytes each.  The comparisons are done by (*COMPAR)().  
+   Code taken from glibc-2.6. */
+void *
+_gpgme_wince_bsearch (const void *key, const void *base,
+                      size_t nmemb, size_t size,
+                      int (*compar) (const void *, const void *))
+{
+  size_t l, u, idx;
+  const void *p;
+  int comparison;
+
+  l = 0;
+  u = nmemb;
+  while (l < u)
+    {
+      idx = (l + u) / 2;
+      p = (void *) (((const char *) base) + (idx * size));
+      comparison = (*compar) (key, p);
+      if (comparison < 0)
+       u = idx;
+      else if (comparison > 0)
+       l = idx + 1;
+      else
+       return (void *) p;
+    }
+
+  return NULL;
+}
+
index 2bc34ca770e34f3a77f3d1e357c5713dd61ad351..9be361f7a282b87de295c2ce1b8bdffceceec929 100644 (file)
@@ -70,6 +70,11 @@ BOOL SHGetSpecialFolderPathA(HWND,LPSTR,int,BOOL);
 int _gpgme_wince_access (const char *fname, int mode);
 #define access(a,b) _gpgme_wince_access ((a), (b))
 
+void *_gpgme_wince_bsearch (const void *key, const void *base,
+                            size_t nmemb, size_t size,
+                            int (*compar) (const void *, const void *));
+#define bsearch(a,b,c,d,e) _gpgme_wince_bsearch ((a),(b),(c),(d),(e)) 
+
 
 
 #endif /* GPGME_W32_CE_H */
index 532f89e950e8178fee1505b44899c422b57bdee4..50052deefc35c1ade3bd4d9b01b7a8c90af49765 100644 (file)
@@ -76,14 +76,14 @@ DEFINE_STATIC_LOCK (get_path_lock);
 
 #define RTLD_LAZY 0
 
-static __inline__ void *
+static GPG_ERR_INLINE void *
 dlopen (const char * name, int flag)
 {
   void * hd = LoadLibrary (name);
   return hd;
 }
 
-static __inline__ void *
+static GPG_ERR_INLINE void *
 dlsym (void * hd, const char * sym)
 {
   if (hd && sym)
@@ -96,7 +96,7 @@ dlsym (void * hd, const char * sym)
   return NULL;
 }
 
-static __inline__ int
+static GPG_ERR_INLINE int
 dlclose (void * hd)
 {
   if (hd)