The libssh2_sha1_final() and libssh2_md5_final() macros had definitions
calling both memcpy() and gcry_md_close() separated by a comma. It's
nicer to have the definition as a single do {} while (0) statement.
---
src/libgcrypt.h | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/libgcrypt.h b/src/libgcrypt.h
index 1f0276e..2f9864f 100644
--- a/src/libgcrypt.h
+++ b/src/libgcrypt.h
@@ -62,8 +62,10 @@
#define libssh2_sha1_ctx gcry_md_hd_t
#define libssh2_sha1_init(ctx) gcry_md_open (ctx, GCRY_MD_SHA1, 0);
#define libssh2_sha1_update(ctx, data, len) gcry_md_write (ctx, data, len)
-#define libssh2_sha1_final(ctx, out) \
- memcpy (out, gcry_md_read (ctx, 0), SHA_DIGEST_LENGTH), gcry_md_close (ctx)
+#define libssh2_sha1_final(ctx, out) do { \
+ memcpy (out, gcry_md_read (ctx, 0), SHA_DIGEST_LENGTH); \
+ gcry_md_close (ctx); \
+ } while (0)
#define libssh2_sha1(message, len, out) \
gcry_md_hash_buffer (GCRY_MD_SHA1, out, message, len)
@@ -74,8 +76,10 @@
(GPG_ERR_NO_ERROR == gcry_md_open (ctx, GCRY_MD_MD5, 0))
#define libssh2_md5_update(ctx, data, len) gcry_md_write (ctx, data, len)
-#define libssh2_md5_final(ctx, out) \
- memcpy (out, gcry_md_read (ctx, 0), MD5_DIGEST_LENGTH), gcry_md_close (ctx)
+#define libssh2_md5_final(ctx, out) do { \
+ memcpy (out, gcry_md_read (ctx, 0), MD5_DIGEST_LENGTH); \
+ gcry_md_close (ctx); \
+ } while (0)
#define libssh2_md5(message, len, out) \
gcry_md_hash_buffer (GCRY_MD_MD5, out, message, len)
--
1.7.4.1.343.ga91df.dirty
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
Received on 2012-11-13