From 2cac4a9c727e4d033fe4e6bf34558a5664e11b6c Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 8 Jan 2001 15:02:58 +0000 Subject: better cleanup when existing due to bad usage --- src/main.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/main.c b/src/main.c index fa49688d8..47087754a 100644 --- a/src/main.c +++ b/src/main.c @@ -443,6 +443,23 @@ static char *file2memory(FILE *file, long *size) 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 *node =malloc(sizeof(struct getout)); @@ -1480,6 +1497,7 @@ operate(struct Configurable *config, int argc, char *argv[]) /* no text */ break; } + clean_getout(config); return CURLE_FAILED_INIT; } @@ -1530,7 +1548,7 @@ operate(struct Configurable *config, int argc, char *argv[]) /* save outfile pattern before expansion */ 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! */ separator = 1; } -- cgit v1.2.3