diff options
Diffstat (limited to 'test-skeleton.c')
-rw-r--r-- | test-skeleton.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test-skeleton.c b/test-skeleton.c index 913a335782..65a3818309 100644 --- a/test-skeleton.c +++ b/test-skeleton.c @@ -33,6 +33,7 @@ #include <sys/wait.h> #include <sys/param.h> #include <time.h> +#include <stdarg.h> /* The test function is normally called `do_test' and it is called with argc and argv as the arguments. We nevertheless provide the @@ -115,6 +116,20 @@ xrealloc (void *p, size_t n) return result; } +/* Call asprintf with error checking. */ +__attribute__ ((always_inline, format (printf, 1, 2))) +static __inline__ char * +xasprintf (const char *format, ...) +{ + char *result; + if (asprintf (&result, format, __builtin_va_arg_pack ()) < 0) + { + printf ("error: asprintf: %m\n"); + exit (1); + } + return result; +} + /* Write a message to standard output. Can be used in signal handlers. */ static void |