diff options
author | Daniel Stenberg <daniel@haxx.se> | 2022-01-02 17:42:04 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2022-01-02 17:42:04 +0100 |
commit | 3c512350b899ebeb93c79bd912975b45a73bf3a7 (patch) | |
tree | 6e726cddf81de9964de6728016b8a25433315915 | |
parent | 78dcbe40a6cb36f5fa56c9c479989b3dca36de6d (diff) | |
download | curl-3c512350b899ebeb93c79bd912975b45a73bf3a7.tar.gz |
tool_operate: warn if too many output arguments were found
More output instructions than URLs is likely a user error.
Add test case 371 to verify
-rw-r--r-- | src/tool_operate.c | 8 | ||||
-rw-r--r-- | tests/data/Makefile.inc | 4 | ||||
-rw-r--r-- | tests/data/test371 | 56 |
3 files changed, 65 insertions, 3 deletions
diff --git a/src/tool_operate.c b/src/tool_operate.c index 44f01e94e..fe2c43b55 100644 --- a/src/tool_operate.c +++ b/src/tool_operate.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2021, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -735,6 +735,7 @@ static CURLcode single_transfer(struct GlobalConfig *global, } while(config->state.urlnode) { + static bool warn_more_options = FALSE; char *infiles; /* might be a glob pattern */ struct URLGlob *inglob = state->inglob; urlnode = config->state.urlnode; @@ -749,6 +750,11 @@ static CURLcode single_transfer(struct GlobalConfig *global, urlnode->flags = 0; config->state.urlnode = urlnode->next; state->up = 0; + if(!warn_more_options) { + /* only show this once */ + warnf(config->global, "Got more output options than URLs\n"); + warn_more_options = TRUE; + } continue; /* next URL please */ } diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc index 75f6397ea..dad423258 100644 --- a/tests/data/Makefile.inc +++ b/tests/data/Makefile.inc @@ -5,7 +5,7 @@ # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # -# Copyright (C) 1998 - 2021, Daniel Stenberg, <daniel@haxx.se>, et al. +# Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms @@ -61,7 +61,7 @@ test334 test335 test336 test337 test338 test339 test340 test341 test342 \ test343 test344 test345 test346 test347 test348 test349 test350 test351 \ test352 test353 test354 test355 test356 test357 test358 test359 test360 \ test361 test362 test363 test364 test365 test366 test367 test368 test369 \ -test370 \ +test370 test371 \ \ test392 test393 test394 test395 test396 test397 \ \ diff --git a/tests/data/test371 b/tests/data/test371 new file mode 100644 index 000000000..18566f57b --- /dev/null +++ b/tests/data/test371 @@ -0,0 +1,56 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP GET +</keywords> +</info> + +# +# Server-side +<reply> +<data nocheck="yes"> +HTTP/1.1 200 OK +Date: Tue, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT +ETag: "21025-dc7-39462498" +Accept-Ranges: bytes +Content-Length: 6 +Connection: close +Content-Type: text/html +Funny-head: yesyes + +-foo- +</data> +</reply> + +# +# Client-side +<client> +<server> +http +</server> + <name> +using more -o than URLs in the command line + </name> + <command> +http://%HOSTIP:%HTTPPORT/%TESTNUMBER -o log/dump -o log/dump2 --no-progress-meter +</command> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<protocol> +GET /%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+
+</protocol> +<stderr > +Warning: Got more output options than URLs +</stderr> +</verify> +</testcase> |