refine readme master
authorgit <redacted>
Thu, 23 Apr 2026 19:08:26 +0000 (15:08 -0400)
committergit <redacted>
Thu, 23 Apr 2026 19:08:26 +0000 (15:08 -0400)
README.md
va_opt.h

index 71124dba05f122fb763676b565d6e93c2bbc6f29..bd8ca294b6f4685e1e67020768576ebcab173e66 100644 (file)
--- a/README.md
+++ b/README.md
@@ -2,10 +2,13 @@ _Almost_ fully C99 compatible `##__VA_ARGS__` and `__VA_OPT__()` alternative.
 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.
index f8f7c5ef3dfa3ca0630d780b815d0eacdeb07653..25fc491e97c5d390dc32de38c0b347e9dfcba14b 100644 (file)
--- a/va_opt.h
+++ b/va_opt.h
@@ -2,7 +2,7 @@
  #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(...) ,