ANSI C doesn't allow trailing semi-colons after a function's closing brace

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.
This commit is contained in:
Geoff Thorpe 2000-12-04 04:52:38 +00:00
parent 733777275b
commit c0e7c3aab9

View 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; \