aboutsummaryrefslogtreecommitdiff
path: root/src/tool_operate.c
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2012-05-14 22:46:15 +0900
committerDaniel Stenberg <daniel@haxx.se>2012-05-26 23:11:40 +0200
commitc3ef63f16743202eae8b0a1207130a5ba65b8ec2 (patch)
tree47a0ee3b70ee7cd64c0d474521b28e47af76f8e9 /src/tool_operate.c
parent94eb1328969b796e4ecce3a113fc6ba24c167254 (diff)
Always create directory hierarchy for Metalink.
Filenames contained in Metalink file can include directory information. Filenames are unique in Metalink file, taking into account the directory information. So we need to create the directory hierarchy. Curl has --create-dirs option, but we create directory hierarchy for Metalink downloads regardless of the option value. This patch also put metalink int variable outside of HAVE_LIBMETALINK guard. This reduces the number of #ifdefs.
Diffstat (limited to 'src/tool_operate.c')
-rw-r--r--src/tool_operate.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/tool_operate.c b/src/tool_operate.c
index be841e7e7..0d17329b0 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -406,8 +406,9 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
int infilenum;
URLGlob *inglob;
+ int metalink = 0; /* nonzero for metalink download. Put outside of
+ HAVE_LIBMETALINK to reduce #ifdef */
#ifdef HAVE_LIBMETALINK
- int metalink; /* nonzero for metalink download */
struct metalinkfile *mlfile;
metalink_resource_t **mlres;
#endif /* HAVE_LIBMETALINK */
@@ -427,7 +428,6 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
mlres = mlfile->file->resources;
}
else {
- metalink = 0;
mlfile = NULL;
mlres = NULL;
}
@@ -642,7 +642,7 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
/* Create the directory hierarchy, if not pre-existent to a multiple
file output call */
- if(config->create_dirs) {
+ if(config->create_dirs || metalink) {
res = create_dir_hierarchy(outfile, config->errors);
/* create_dir_hierarchy shows error upon CURLE_WRITE_ERROR */
if(res == CURLE_WRITE_ERROR)