(memrchr): Fixed implementation. Problem pointed out
authorWerner Koch <wk@gnupg.org>
Sun, 15 Feb 2004 16:02:36 +0000 (16:02 +0000)
committerWerner Koch <wk@gnupg.org>
Sun, 15 Feb 2004 16:02:36 +0000 (16:02 +0000)
by Adriaan de Groot.

trunk/ChangeLog
trunk/THANKS
trunk/autogen.sh
trunk/gpgme/ChangeLog
trunk/gpgme/memrchr.c

index fbb131dd2a37a1e1f0d029309bb5551d35ace35c..30f87496c4860412c19d2ef0795fd56d57f34e1e 100644 (file)
@@ -1,3 +1,7 @@
+2004-02-11  Werner Koch  <wk@gnupg.org>
+
+       * autogen.sh (check_version): Removed bashism and simplified.
+
 2004-02-10  Werner Koch  <wk@gnupg.org>
 
        * configure.ac: Fixed funopen test change.
index 414927bcee4da401979a121a7286bd4b887b5d02..8a63d28ee0cdf44ef804b8e4044028fee418cc5e 100644 (file)
@@ -1,4 +1,5 @@
 
+Adriaan de Groot        adridg@cs.kun.nl
 Alfons Hoogervorst      alfons@proteus.demon.nl
 Enno Cramer             uebergeek@web.de
 Frank Heckenbach        frank@g-n-u.de
@@ -12,7 +13,7 @@ Timo Schulz             twoaday@freakmail.de
 Tommy Reynolds          reynolds@redhat.com
                         
 
- Copyright 2001, 2002 g10 Code GmbH
+ Copyright 2001, 2002, 2004 g10 Code GmbH
 
  This file is free software; as a special exception the author gives
  unlimited permission to copy and/or distribute it, with or without
index 4f1205c6e7b5e6ff44331125f78425ffc533094a..81061e3835dff1af70f02fd3f58670f0d12eb440 100755 (executable)
@@ -18,7 +18,7 @@ cvtver () {
 }
 
 check_version () {
-    if [ $(( `("$1" --version || echo "0") | cvtver` >= $2 )) == 1 ]; then
+    if [ `("$1" --version || echo "0") | cvtver` -ge "$2" ]; then
        return 0
     fi
     echo "**Error**: "\`$1\'" not installed or too old." >&2
index d21819add801fe87ade9d2172363760c1db1e799..065f8cde137f49b1209aff27e3ab25a4205bcab8 100644 (file)
@@ -1,3 +1,8 @@
+2004-02-15  Werner Koch  <wk@gnupg.org>
+
+       * memrchr.c (memrchr): Fixed implementation.  Problem pointed out
+       by Adriaan de Groot.
+
 2004-02-01  Marcus Brinkmann  <marcus@g10code.de>
 
        * rungpg.c (build_argv): Use --no-comment, not --comment "".
index 3e60c55e2de4936d802ee87ed79c30af2c991fd8..41d38ae185dbdad529ff0d8f4070f2e4446b2a1f 100644 (file)
@@ -1,5 +1,5 @@
 /* memrchr.c - Replacement for memrchr.
- * Copyright (C) 2002 Free Software Foundation, Inc.
+ * Copyright (C) 2002, 2004 Free Software Foundation, Inc.
  *
  * This file is part of GnuPG.
  *
 void *
 memrchr (const void *block, int c, size_t size)
 {
-  void *p;
+  const unsigned char *p = block;
 
-  for (p = block + size; p != block; p --)
-    if (*p == c)
-      return p;
-  return 0;
+  if (size)
+    {
+      for (p += size - 1; size; p--, size--)
+        if (*p == c)
+          return (void *)p;
+    }
+  return NULL;
 }