#include <ctype.h>
#include <errno.h>
+#include <mprintf.h>
+
const char *HOSTHEADER = "Host: www.host.foo.com";
const char *JAR = "log/jar506";
#define THREADS 2
/* build request url */
char *suburl(char *base, int i)
{
- size_t len = strlen(base);
- char *url = (char *)malloc(len+5);
- if (!url) {
- abort();
- }
- strcpy(url, base);
- strcat(url, "0000");
- url[len+3] = 48+i;
- return url;
+ return curl_maprintf("%s000%c", base, 48+i);
}
for (i=1; i<=THREADS; i++ ) {
/* set thread data */
- tdata.url = suburl( URL, i ); /* must be freed */
+ tdata.url = suburl( URL, i ); /* must be curl_free()d */
tdata.share = share;
/* simulate thread, direct call of "thread" function */
printf( "*** run %d\n",i );
fire( &tdata );
- free( tdata.url );
+ curl_free( tdata.url );
}
printf( "CLEANUP\n" );
curl_easy_cleanup( curl );
curl_slist_free_all( headers );
- free(url);
-
+
+ curl_free(url);
/* free share */
printf( "SHARE_CLEANUP\n" );