提交 c0e7c3aa 编写于 作者: G Geoff Thorpe

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.
上级 73377727
......@@ -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; \
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册