* Concatenate a NULL-terminated list of strings */
| 100 | * Concatenate a NULL-terminated list of strings |
| 101 | */ |
| 102 | char *dStrconcat(const char *s1, ...) |
| 103 | { |
| 104 | va_list args; |
| 105 | char *s, *ns = NULL; |
| 106 | |
| 107 | if (s1) { |
| 108 | Dstr *dstr = dStr_sized_new(64); |
| 109 | va_start(args, s1); |
| 110 | for (s = (char*)s1; s; s = va_arg(args, char*)) |
| 111 | dStr_append(dstr, s); |
| 112 | va_end(args); |
| 113 | ns = dstr->str; |
| 114 | dStr_free(dstr, 0); |
| 115 | } |
| 116 | return ns; |
| 117 | } |
| 118 | |
| 119 | /** |
| 120 | * Remove leading and trailing whitespace |
no test coverage detected