The compiler needs to support empty `__VA_ARGS__` (not to C99 spec) for this to work, though
all compilers tested had no issue with that (even those with partial C99 support, like lacc)
-### Usage
+### Usage and hacking
Replace `__VA_ARGS__` with `VA_OPT_C(__VA_ARGS__)`:
```
-#define prlog(f, ...) fprintf(stderr, f, VA_OPT_C(__VA_ARGS__))
+#define prlog(f, ...) fprintf(stderr, f /* no comma here */ VA_OPT_C(__VA_ARGS__))
```
+
+You can also define your own top level macro, `I_MAKE_TEST()` and the test macros themselves to
+add a lot more conditional functionality based on `__VA_ARGS__` being empty or not.
#define VA_OPT_H_ 1
/*
* Credit for a big part of the macro madness:
- * Jens Gudstedt
+ * Jens Gustedt
* https://gustedt.wordpress.com/2010/06/08/detect-empty-macro-arguments/
*/
#define I_COND_COMMA(...) ,