string * concatstringlist(string *output, ...) { string *p; va_list ap; va_start(ap, output); while((p = va_arg(ap, string *)) != NULL) stringcat(output, output, p); va_end(ap); return output; }