summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2016-01-16 23:39:10 +0100
committerFelix Fietkau <nbd@openwrt.org>2016-01-16 23:39:10 +0100
commit243aea1f7f1b50da2228a89812ff77a92dae82ad (patch)
treeb47650a27111b0037aeeb8a9ba4aeda2d8305633
parentfe0f1a36109384eaad8b3d0f1438d9321581e47c (diff)
downloaduclient-243aea1f7f1b50da2228a89812ff77a92dae82ad.tar.gz
uclient-fetch: add support for setting output directory
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
-rw-r--r--uclient-fetch.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/uclient-fetch.c b/uclient-fetch.c
index c2b7e69..5ab2ea0 100644
--- a/uclient-fetch.c
+++ b/uclient-fetch.c
@@ -388,6 +388,7 @@ static int usage(const char *progname)
"Options:\n"
" -q: Turn off status messages\n"
" -O <file>: Redirect output to file (use \"-\" for stdout)\n"
+ " -P <dir>: Set directory for output files\n"
" --user=<user> HTTP authentication username\n"
" --password=<password> HTTP authentication password\n"
" --user-agent|-U <str> Set HTTP user agent\n"
@@ -480,7 +481,7 @@ int main(int argc, char **argv)
signal(SIGPIPE, SIG_IGN);
init_ustream_ssl();
- while ((ch = getopt_long(argc, argv, "cO:qsU:Y:", longopts, &longopt_idx)) != -1) {
+ while ((ch = getopt_long(argc, argv, "cO:P:qsU:Y:", longopts, &longopt_idx)) != -1) {
switch(ch) {
case 0:
switch (longopt_idx) {
@@ -539,6 +540,13 @@ int main(int argc, char **argv)
case 'O':
output_file = optarg;
break;
+ case 'P':
+ if (chdir(optarg)) {
+ if (!quiet)
+ perror("Change output directory");
+ exit(1);
+ }
+ break;
case 'q':
quiet = true;
break;