[Pkg-gnupg-commit] [libassuan] 101/437: (memrchr): Fixed implementation. Taken from gpgme.

Eric Dorland eric at moszumanska.debian.org
Fri May 22 05:33:29 UTC 2015


This is an automated email from the git hooks/post-receive script.

eric pushed a commit to branch master
in repository libassuan.

commit a3c5e71a9476b17cea9d7e5073ac509172ae5cb6
Author: Werner Koch <wk at gnupg.org>
Date:   Sun Feb 15 16:04:41 2004 +0000

    (memrchr): Fixed implementation. Taken from gpgme.
---
 src/ChangeLog |  4 ++++
 src/memrchr.c | 16 ++++++++++------
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index ec0658c..00825fb 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2004-02-15  Werner Koch  <wk at gnupg.org>
+
+	* memrchr.c (memrchr): Fixed implementation. Taken from gpgme.
+
 2004-02-13  Werner Koch  <wk at gnupg.org>
 
 	* assuan-domain-connect.c: Removed the unneeded alloca.h.
diff --git a/src/memrchr.c b/src/memrchr.c
index 3e60c55..57cf70e 100644
--- a/src/memrchr.c
+++ b/src/memrchr.c
@@ -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.
  *
@@ -27,10 +27,14 @@
 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;
 }
+

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/libassuan.git



More information about the Pkg-gnupg-commit mailing list