ANSI C doesn't allow trailing semi-colons after a function's closing brace
authorGeoff Thorpe <geoff@openssl.org>
Mon, 4 Dec 2000 04:52:38 +0000 (04:52 +0000)
committerGeoff Thorpe <geoff@openssl.org>
Mon, 4 Dec 2000 04:52:38 +0000 (04:52 +0000)
so these macros probably shouldn't be used like that at all. So, this
change removes the misleading comment and also adds an implicit trailing
semi-colon to the DECLARE macros so they too don't require one.

crypto/lhash/lhash.h

index 5e3fde5..6420512 100644 (file)
@@ -94,14 +94,11 @@ typedef void (*LHASH_DOALL_ARG_FN_TYPE)(void *, void *);
  * pointer casting and the macro-defined callbacks provide per-variable casting
  * before deferring to the underlying type-specific callbacks. NB: It is
  * possible to place a "static" in front of both the DECLARE and IMPLEMENT
- * macros if the functions are strictly internal. To keep text-editors happy,
- * the macro deliberately doesn't define a trailing semi-colon - so the macro
- * can be placed just like a regular function declaration, with an optional
- * "static" prefix and trailing simi-colon. */
+ * macros if the functions are strictly internal. */
 
 /* First: "hash" functions */
 #define DECLARE_LHASH_HASH_FN(f_name,o_type) \
-       unsigned long f_name##_LHASH_HASH(void *)
+       unsigned long f_name##_LHASH_HASH(void *);
 #define IMPLEMENT_LHASH_HASH_FN(f_name,o_type) \
        unsigned long f_name##_LHASH_HASH(void *arg) { \
                o_type a = (o_type)arg; \
@@ -110,7 +107,7 @@ typedef void (*LHASH_DOALL_ARG_FN_TYPE)(void *, void *);
 
 /* Second: "compare" functions */
 #define DECLARE_LHASH_COMP_FN(f_name,o_type) \
-       int f_name##_LHASH_COMP(void *, void *)
+       int f_name##_LHASH_COMP(void *, void *);
 #define IMPLEMENT_LHASH_COMP_FN(f_name,o_type) \
        int f_name##_LHASH_COMP(void *arg1, void *arg2) { \
                o_type a = (o_type)arg1; \