From: Richard W.M. Jones Date: Thu, 23 Apr 2009 17:52:06 +0000 (+0100) Subject: Implement extensible strings with catprintf. X-Git-Tag: 1.0.11~5 X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=commitdiff_plain;h=e2870fb94cbd22affecdd16e8f75f75e78d1c18b Implement extensible strings with catprintf. --- 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. */