diff options
author | Nick Mathewson <nickm@torproject.org> | 2020-02-10 12:54:06 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2020-02-10 12:54:06 -0500 |
commit | a9cc4ce0eb916255b447b7943c3a72a9feaccff9 (patch) | |
tree | 845a25dd49216c3b30771d9fdaae44bf122755e7 /src/ext | |
parent | fbc1eaa0af653b796a794242010f54343141e272 (diff) | |
download | tor-a9cc4ce0eb916255b447b7943c3a72a9feaccff9.tar.gz tor-a9cc4ce0eb916255b447b7943c3a72a9feaccff9.zip |
ht.h: Require a semicolon after HT_PROTOTYPE and HT_GENERATE[2]
Diffstat (limited to 'src/ext')
-rw-r--r-- | src/ext/ht.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/ext/ht.h b/src/ext/ht.h index 9d4add1936..4bfce36903 100644 --- a/src/ext/ht.h +++ b/src/ext/ht.h @@ -232,6 +232,10 @@ ht_string_hash(const char *s) #define HT_ASSERT_(x) (void)0 #endif +/* Macro put at the end of the end of a macro definition so that it + * consumes the following semicolon at file scope. Used only inside ht.h. */ +#define HT_EAT_SEMICOLON__ struct ht_semicolon_eater + #define HT_PROTOTYPE(name, type, field, hashfn, eqfn) \ int name##_HT_GROW(struct name *ht, unsigned min_capacity); \ void name##_HT_CLEAR(struct name *ht); \ @@ -413,7 +417,8 @@ ht_string_hash(const char *s) } \ return NULL; \ } \ - } + } \ + HT_EAT_SEMICOLON__ #define HT_GENERATE2(name, type, field, hashfn, eqfn, load, reallocarrayfn, \ freefn) \ @@ -538,7 +543,8 @@ ht_string_hash(const char *s) if (n != head->hth_n_entries) \ return 6; \ return 0; \ - } + } \ + HT_EAT_SEMICOLON__ #define HT_GENERATE(name, type, field, hashfn, eqfn, load, mallocfn, \ reallocfn, freefn) \ |