X-Git-Url: https://git.draconx.ca/gitweb/dxcommon.git/blobdiff_plain/02e6afe4c4956fd667dfefc04e8f129b5b84f709..4f94394a1e9aef0eaa98b52fe8421b62e3779682:/t/nls/gettext.h diff --git a/t/nls/gettext.h b/t/nls/gettext.h index b8a8060..95bdf14 100644 --- a/t/nls/gettext.h +++ b/t/nls/gettext.h @@ -11,7 +11,31 @@ #ifndef TEST_NLS_GETTEXT_H_ #define TEST_NLS_GETTEXT_H_ -#define gettext(s) (s) -#define pgettext_expr(a, s) (s) +#include +#include + +/* + * We don't need a real snprintf for testing help functionality; substitute + * using vsprintf to ease testing on C89 implementations. + */ +#define help_do_snprintf help_do_snprintf +static inline int help_do_snprintf(char *buf, size_t n, const char *fmt, ...) +{ + va_list ap; + int ret; + + va_start(ap, fmt); + ret = vsprintf(buf, fmt, ap); + va_end(ap); + + return ret; +} + +/* + * Do nothing, but try to tickle a crash if a bogus string argument is + * passed as the real functions dereference the provided pointers. + */ +#define gettext(s) (*(volatile char *)s, s) +#define pgettext_expr(c, s) (*(volatile char *)c + *(volatile char *)s, s) #endif