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:
parent
39e939a507
commit
2cac4a9c72
20
src/main.c
20
src/main.c
@ -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;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user