1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-21 23:58:49 -05:00

better cleanup when existing due to bad usage

This commit is contained in:
Daniel Stenberg 2001-01-08 15:02:58 +00:00
parent 39e939a507
commit 2cac4a9c72

View File

@ -443,6 +443,23 @@ static char *file2memory(FILE *file, long *size)
return NULL; /* no string */ return NULL; /* no string */
} }
void clean_getout(struct Configurable *config)
{
struct getout *node=config->url_list;
struct getout *next;
while(node) {
next = node->next;
if(node->url)
free(node->url);
if(node->outfile)
free(node->outfile);
free(node);
node = next; /* GOTO next */
}
}
struct getout *new_getout(struct Configurable *config) struct getout *new_getout(struct Configurable *config)
{ {
struct getout *node =malloc(sizeof(struct getout)); struct getout *node =malloc(sizeof(struct getout));
@ -1480,6 +1497,7 @@ operate(struct Configurable *config, int argc, char *argv[])
/* no text */ /* no text */
break; break;
} }
clean_getout(config);
return CURLE_FAILED_INIT; return CURLE_FAILED_INIT;
} }
@ -1530,7 +1548,7 @@ operate(struct Configurable *config, int argc, char *argv[])
/* save outfile pattern before expansion */ /* save outfile pattern before expansion */
outfiles = urlnode->outfile?strdup(urlnode->outfile):NULL; outfiles = urlnode->outfile?strdup(urlnode->outfile):NULL;
if (!outfiles || strequal(outfiles, "-") && urlnum > 1) { if ((!outfiles || strequal(outfiles, "-")) && urlnum > 1) {
/* multiple files extracted to stdout, insert separators! */ /* multiple files extracted to stdout, insert separators! */
separator = 1; separator = 1;
} }