char base64) /* 1 if base64 encoded */
{
size_t len = strlen(buffer);
- size_t needed_len = len + *stringlen;
+ size_t needed_len = len + *stringlen + 1;
char buf64[256]; /* big enough? */
if(base64) {
/* decode the given buffer first */
len = Curl_base64_decode(buffer, buf64); /* updated len */
buffer = buf64;
- needed_len = len + *stringlen; /* recalculate */
+ needed_len = len + *stringlen + 1; /* recalculate */
}
if(needed_len >= *stralloc) {
/* memcpy to support binary blobs */
memcpy(&string[*stringlen], buffer, len);
*stringlen += len;
+ string[*stringlen]=0;
return string;
}
}
else {
size_t size;
+ unsigned int i;
const char *buffer = spitout(stdin, argv[1], argv[2], &size);
- printf("%s", buffer);
+ for(i=0; i< size; i++)
+ printf("%c", buffer[i]);
}
return 0;
}