2002-09-28 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Sat, 28 Sep 2002 20:08:01 +0000 (20:08 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Sat, 28 Sep 2002 20:08:01 +0000 (20:08 +0000)
* conversion.c (_gpgme_hextobyte): Prevent superfluous
multiplication with base.  Reported by St�phane Corth�sy.

* keylist.c (gpgme_op_keylist_ext_start): Use private asynchronous
operation type in invocation of _gpgme_op_reset.

trunk/gpgme/ChangeLog
trunk/gpgme/conversion.c
trunk/gpgme/keylist.c

index 325a0648c6a324cb3bb8611be74a22c5cb4661fc..a2cd24697b49dfb395238813a1ddecb60f50f927 100644 (file)
@@ -1,3 +1,11 @@
+2002-09-28  Marcus Brinkmann  <marcus@g10code.de>
+
+       * conversion.c (_gpgme_hextobyte): Prevent superfluous
+       multiplication with base.  Reported by Stéphane Corthésy.
+
+       * keylist.c (gpgme_op_keylist_ext_start): Use private asynchronous
+       operation type in invocation of _gpgme_op_reset.
+
 2002-09-20  Werner Koch  <wk@gnupg.org>
 
        * ath.c: Include sys/time.h if sys/select.h is not available.
index 8302f9919ad3decee82c32b7e3c7e3b910981d87..ad85a8a932dafdede105d687a81f5ecd91036f99 100644 (file)
@@ -23,6 +23,7 @@
 #include <config.h>
 #endif
 
+#include <string.h>
 #include <ctype.h>
 #include "gpgme.h"
 #include "util.h"
@@ -34,7 +35,8 @@ _gpgme_hextobyte (const byte *str)
   int val = 0;
   int i;
 
-  for (i = 0; i < 2; i++)
+#define NROFHEXDIGITS 2
+  for (i = 0; i < NROFHEXDIGITS; i++)
     {
       if (*str >= '0' && *str <= '9')
        val += *str - '0';
@@ -44,7 +46,8 @@ _gpgme_hextobyte (const byte *str)
        val += 10 + *str - 'a';
       else
        return -1;
-      val *= 16;
+      if (i < NROFHEXDIGITS - 1)
+       val *= 16;
       str++;
     }
   return val;
index 6ae9b1ee014340860757c04a1bd8cec9793e6322..044fb75787eac3decc78045e8ce886c655d20b05 100644 (file)
@@ -633,9 +633,7 @@ gpgme_op_keylist_ext_start (GpgmeCtx ctx, const char *pattern[],
 {
   GpgmeError err = 0;
 
-  /* Keylist operations are always "synchronous" in the sense that we
-     don't add ourself to the global FD table.  */
-  err = _gpgme_op_reset (ctx, 1);
+  err = _gpgme_op_reset (ctx, 2);
   if (err)
     goto leave;