Add a macro for the fairly common "eat next semicolon" syntax trick

You use this when you're defining a macro to be used at file scope,
and you want to require a semicolon afterwards.
This commit is contained in:
Nick Mathewson 2019-01-10 10:30:52 -05:00
parent 0944500a8e
commit 56bda7464f

View File

@ -217,4 +217,16 @@
/** Macro: Yields the number of elements in array x. */
#define ARRAY_LENGTH(x) ((sizeof(x)) / sizeof(x[0]))
/**
* "Eat" a semicolon that somebody puts at the end of a top-level macro.
*
* Frequently, we want to declare a macro that people will use at file scope,
* and we want to allow people to put a semicolon after the macro.
*
* This declaration of a struct can be repeated any number of times, and takes
* a trailing semicolon afterwards.
**/
#define EAT_SEMICOLON \
struct dummy_semicolon_eater__
#endif /* !defined(TOR_COMPAT_H) */