I unexpectedly detected that the variadic macro feature of C99 was already used in OpenLDAP 2.4 ;)
grep -R __VA_ARGS__ * build/ltmain.sh:# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) contrib/ldapc++/ltmain.sh:# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) libraries/liblmdb/mdb.c: fprintf(stderr, "%s:%d " fmt "\n", mdb_func_, __LINE__, __VA_ARGS__) servers/slapd/back-bdb/back-bdb.h:#define BDB_LOG_PRINTF(env,txn,fmt,...) (env)->log_printf((env),(txn),(fmt),__VA_ARGS__) servers/slapd/back-bdb/back-bdb.h:#define BDB_LOG_PRINTF(env,txn,fmt,...) __db_logmsg((env),(txn),"DIAGNOSTIC",0,(fmt),__VA_ARGS__)