#include #include static size_t append(char *data, size_t size, size_t nmemb, char **res) { size_t realsize = size * nmemb; size_t res_len = *res ? strlen(*res) : 0; *res = realloc(*res, res_len + realsize + 1); strlcpy(&(*res)[res_len], data, realsize + 1); return realsize; }