From e2870fb94cbd22affecdd16e8f75f75e78d1c18b Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 23 Apr 2009 18:52:06 +0100 Subject: [PATCH] Implement extensible strings with catprintf. --- daemon/daemon.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/daemon/daemon.h b/daemon/daemon.h index 3f51056..331fc0d 100644 --- a/daemon/daemon.h +++ b/daemon/daemon.h @@ -92,6 +92,14 @@ extern void send_file_end (int cancel); /* only call this if there is a FileOut parameter */ extern void reply (xdrproc_t xdrp, char *ret); +/* Append to existing string. If existing string is NULL then + * this creates a new string. This uses an "interesting" variation + * of asprintf. + */ + +#define catprintf(strp,fs,...) \ + asprintf ((strp), "%s" fs, *(strp) ? *(strp) : "", __VA_ARGS__) + /* Helper for functions that need a root filesystem mounted. * NB. Cannot be used for FileIn functions. */ -- 1.8.3.1