# HG changeset patch # User Matti Hamalainen # Date 1307641697 -10800 # Node ID 3dc86d8eb0a9419e2a5391b0a93a786e6b6308dd # Parent 8ae649a4b7388e47b7a8d89630607a1fb5b804f5 Added helper functions for easier string manipulation. diff -r 8ae649a4b738 -r 3dc86d8eb0a9 th_string.c --- a/th_string.c Thu Jun 09 19:31:13 2011 +0300 +++ b/th_string.c Thu Jun 09 20:48:17 2011 +0300 @@ -96,6 +96,27 @@ } +void th_pstr_vprintf(char **buf, const char *fmt, va_list ap) +{ + char *tmp = th_strdup_vprintf(fmt, ap); + th_free(*buf); + *buf = tmp; +} + + +void th_pstr_printf(char **buf, const char *fmt, ...) +{ + char *tmp; + va_list ap; + + va_start(ap, fmt); + tmp = th_strdup_vprintf(fmt, ap); + va_end(ap); + + th_free(*buf); + *buf = tmp; +} + /* Compare two strings ignoring case [strcasecmp, strncasecmp] */ int th_strcasecmp(const char * str1, const char * str2) diff -r 8ae649a4b738 -r 3dc86d8eb0a9 th_string.h --- a/th_string.h Thu Jun 09 19:31:13 2011 +0300 +++ b/th_string.h Thu Jun 09 20:48:17 2011 +0300 @@ -50,6 +50,9 @@ char *th_strdup_vprintf(const char *, va_list); char *th_strdup_printf(const char *, ...); +void th_pstr_vprintf(char **, const char *, va_list); +void th_pstr_printf(char **, const char *, ...); + char *th_strdup(const char *); int th_pstrcpy(char **, const char *); int th_pstrcat(char **, const char *);