From 99b1f0ac3b6fe96ec54289f36d90c91c0157225c Mon Sep 17 00:00:00 2001 From: Jia Zhang Date: Sat, 28 Oct 2017 10:05:31 -0400 Subject: [PATCH 4/4] gc-gnulib, gc-libgcrypt: fix ix build failure due to -Werror=suggest-attribute=const Mark the functions with _GL_ATTRIBUTE_CONST to resovle this sort of build failures: lib/gc-libgcrypt.c: In function 'gc_done': lib/gc-libgcrypt.c:66:1: error: function might be candidate for attribute 'const' [-Werror=suggest-attribute=const] gc_done (void) ^~~~~~~ ... lib/gc-gnulib.c: In function 'gc_init': lib/gc-gnulib.c:87:1: error: function might be candidate for attribute 'const' [-Werror=suggest-attribute=const] gc_init (void) ^~~~~~~ ... * lib/gc.h: Mark the functions with _GL_ATTRIBUTE_CONST. * lib/gc-gnulib.c: Likewise. * lib/gc-libgcrypt.c: Likewise. --- lib/gc-gnulib.c | 16 ++++++++-------- lib/gc-libgcrypt.c | 16 ++++++++-------- lib/gc.h | 22 ++++++++++++++-------- 3 files changed, 30 insertions(+), 24 deletions(-) diff --git a/lib/gc-gnulib.c b/lib/gc-gnulib.c index f888cf597..1be2d5f0a 100644 --- a/lib/gc-gnulib.c +++ b/lib/gc-gnulib.c @@ -83,7 +83,7 @@ HCRYPTPROV g_hProv = 0; # endif #endif -Gc_rc +Gc_rc _GL_ATTRIBUTE_CONST gc_init (void) { #ifdef GNULIB_GC_RANDOM @@ -110,7 +110,7 @@ gc_init (void) return GC_OK; } -void +void _GL_ATTRIBUTE_CONST gc_done (void) { #ifdef GNULIB_GC_RANDOM @@ -213,7 +213,7 @@ gc_random (char *data, size_t datalen) /* Memory allocation. */ -void +void _GL_ATTRIBUTE_CONST gc_set_allocators (gc_malloc_t func_malloc, gc_malloc_t secure_malloc, gc_secure_check_t secure_check, @@ -330,7 +330,7 @@ gc_cipher_open (Gc_cipher alg, Gc_cipher_mode mode, return rc; } -Gc_rc +Gc_rc _GL_ATTRIBUTE_CONST gc_cipher_setkey (gc_cipher_handle handle, size_t keylen, const char *key) { _gc_cipher_ctx *ctx = handle; @@ -394,7 +394,7 @@ gc_cipher_setkey (gc_cipher_handle handle, size_t keylen, const char *key) return GC_OK; } -Gc_rc +Gc_rc _GL_ATTRIBUTE_CONST gc_cipher_setiv (gc_cipher_handle handle, size_t ivlen, const char *iv) { _gc_cipher_ctx *ctx = handle; @@ -448,7 +448,7 @@ gc_cipher_setiv (gc_cipher_handle handle, size_t ivlen, const char *iv) return GC_OK; } -Gc_rc +Gc_rc _GL_ATTRIBUTE_CONST gc_cipher_encrypt_inline (gc_cipher_handle handle, size_t len, char *data) { _gc_cipher_ctx *ctx = handle; @@ -518,7 +518,7 @@ gc_cipher_encrypt_inline (gc_cipher_handle handle, size_t len, char *data) return GC_OK; } -Gc_rc +Gc_rc _GL_ATTRIBUTE_CONST gc_cipher_decrypt_inline (gc_cipher_handle handle, size_t len, char *data) { _gc_cipher_ctx *ctx = handle; @@ -702,7 +702,7 @@ gc_hash_clone (gc_hash_handle handle, gc_hash_handle * outhandle) return GC_OK; } -size_t +size_t _GL_ATTRIBUTE_CONST gc_hash_digest_length (Gc_hash hash) { size_t len; diff --git a/lib/gc-libgcrypt.c b/lib/gc-libgcrypt.c index 49ba0e13c..75dacf90e 100644 --- a/lib/gc-libgcrypt.c +++ b/lib/gc-libgcrypt.c @@ -40,7 +40,7 @@ /* Initialization. */ -Gc_rc +Gc_rc _GL_ATTRIBUTE_CONST gc_init (void) { gcry_error_t err; @@ -62,7 +62,7 @@ gc_init (void) return GC_OK; } -void +void _GL_ATTRIBUTE_CONST gc_done (void) { return; @@ -97,7 +97,7 @@ gc_random (char *data, size_t datalen) /* Memory allocation. */ -void +void _GL_ATTRIBUTE_CONST gc_set_allocators (gc_malloc_t func_malloc, gc_malloc_t secure_malloc, gc_secure_check_t secure_check, @@ -187,7 +187,7 @@ gc_cipher_open (Gc_cipher alg, Gc_cipher_mode mode, return GC_OK; } -Gc_rc +Gc_rc _GL_ATTRIBUTE_CONST gc_cipher_setkey (gc_cipher_handle handle, size_t keylen, const char *key) { gcry_error_t err; @@ -199,7 +199,7 @@ gc_cipher_setkey (gc_cipher_handle handle, size_t keylen, const char *key) return GC_OK; } -Gc_rc +Gc_rc _GL_ATTRIBUTE_CONST gc_cipher_setiv (gc_cipher_handle handle, size_t ivlen, const char *iv) { gcry_error_t err; @@ -211,7 +211,7 @@ gc_cipher_setiv (gc_cipher_handle handle, size_t ivlen, const char *iv) return GC_OK; } -Gc_rc +Gc_rc _GL_ATTRIBUTE_CONST gc_cipher_encrypt_inline (gc_cipher_handle handle, size_t len, char *data) { if (gcry_cipher_encrypt ((gcry_cipher_hd_t) handle, @@ -221,7 +221,7 @@ gc_cipher_encrypt_inline (gc_cipher_handle handle, size_t len, char *data) return GC_OK; } -Gc_rc +Gc_rc _GL_ATTRIBUTE_CONST gc_cipher_decrypt_inline (gc_cipher_handle handle, size_t len, char *data) { if (gcry_cipher_decrypt ((gcry_cipher_hd_t) handle, @@ -364,7 +364,7 @@ gc_hash_clone (gc_hash_handle handle, gc_hash_handle * outhandle) return GC_OK; } -size_t +size_t _GL_ATTRIBUTE_CONST gc_hash_digest_length (Gc_hash hash) { size_t len; diff --git a/lib/gc.h b/lib/gc.h index e65ba49a3..91da872d1 100644 --- a/lib/gc.h +++ b/lib/gc.h @@ -99,8 +99,8 @@ typedef enum Gc_cipher_mode Gc_cipher_mode; typedef void *gc_cipher_handle; /* Call before respectively after any other functions. */ -extern Gc_rc gc_init (void); -extern void gc_done (void); +extern Gc_rc gc_init (void) _GL_ATTRIBUTE_CONST; +extern void gc_done (void) _GL_ATTRIBUTE_CONST; /* Memory allocation (avoid). */ typedef void *(*gc_malloc_t) (size_t n); @@ -111,7 +111,8 @@ extern void gc_set_allocators (gc_malloc_t func_malloc, gc_malloc_t secure_malloc, gc_secure_check_t secure_check, gc_realloc_t func_realloc, - gc_free_t func_free); + gc_free_t func_free) + _GL_ATTRIBUTE_CONST; /* Randomness. */ extern Gc_rc gc_nonce (char *data, size_t datalen); @@ -122,13 +123,17 @@ extern Gc_rc gc_random (char *data, size_t datalen); extern Gc_rc gc_cipher_open (Gc_cipher cipher, Gc_cipher_mode mode, gc_cipher_handle *outhandle); extern Gc_rc gc_cipher_setkey (gc_cipher_handle handle, - size_t keylen, const char *key); + size_t keylen, const char *key) + _GL_ATTRIBUTE_CONST; extern Gc_rc gc_cipher_setiv (gc_cipher_handle handle, - size_t ivlen, const char *iv); + size_t ivlen, const char *iv) + _GL_ATTRIBUTE_CONST; extern Gc_rc gc_cipher_encrypt_inline (gc_cipher_handle handle, - size_t len, char *data); + size_t len, char *data) + _GL_ATTRIBUTE_CONST; extern Gc_rc gc_cipher_decrypt_inline (gc_cipher_handle handle, - size_t len, char *data); + size_t len, char *data) + _GL_ATTRIBUTE_CONST; extern Gc_rc gc_cipher_close (gc_cipher_handle handle); /* Hashes. */ @@ -136,7 +141,8 @@ extern Gc_rc gc_cipher_close (gc_cipher_handle handle); extern Gc_rc gc_hash_open (Gc_hash hash, Gc_hash_mode mode, gc_hash_handle *outhandle); extern Gc_rc gc_hash_clone (gc_hash_handle handle, gc_hash_handle *outhandle); -extern size_t gc_hash_digest_length (Gc_hash hash); +extern size_t gc_hash_digest_length (Gc_hash hash) + _GL_ATTRIBUTE_CONST; extern void gc_hash_hmac_setkey (gc_hash_handle handle, size_t len, const char *key); extern void gc_hash_write (gc_hash_handle handle, -- 2.14.1