summaryrefslogtreecommitdiff
path: root/uclient-fetch.c
diff options
context:
space:
mode:
Diffstat (limited to 'uclient-fetch.c')
-rw-r--r--uclient-fetch.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/uclient-fetch.c b/uclient-fetch.c
index 7418f82..da11268 100644
--- a/uclient-fetch.c
+++ b/uclient-fetch.c
@@ -58,7 +58,7 @@ static void request_done(struct uclient *cl);
static int open_output_file(const char *path, bool create)
{
- char *filename;
+ char *filename = NULL;
int flags = O_WRONLY;
int ret;
@@ -66,20 +66,20 @@ static int open_output_file(const char *path, bool create)
flags |= O_CREAT | O_EXCL;
if (output_file) {
- if (!strcmp(output_file, "-"))
- return STDOUT_FILENO;
-
- if (!quiet)
- fprintf(stderr, "Writing to stdout\n");
+ if (!strcmp(output_file, "-")) {
+ if (!quiet)
+ fprintf(stderr, "Writing to stdout\n");
- unlink(output_file);
- return open(output_file, flags, 0644);
+ return STDOUT_FILENO;
+ }
+ } else {
+ filename = uclient_get_url_filename(path, "index.html");
+ output_file = filename;
}
- filename = uclient_get_url_filename(path, "index.html");
if (!quiet)
- fprintf(stderr, "Writing to '%s'\n", filename);
- ret = open(filename, flags, 0644);
+ fprintf(stderr, "Writing to '%s'\n", output_file);
+ ret = open(output_file, flags, 0644);
free(filename);
return ret;