Loading src/tool_getparam.c +44 −0 Original line number Diff line number Diff line Loading @@ -1847,3 +1847,47 @@ ParameterError getparameter(char *flag, /* f or -long-flag */ return PARAM_OK; } ParameterError parse_args(struct Configurable *config, int argc, argv_item_t argv[]) { int i; bool stillflags; char *orig_opt; ParameterError result = PARAM_OK; for(i = 1, stillflags = TRUE; i < argc && !result; i++) { orig_opt = argv[i]; if(stillflags && ('-' == argv[i][0])) { char *nextarg; bool passarg; char *flag = argv[i]; if(curlx_strequal("--", argv[i])) /* This indicates the end of the flags and thus enables the following (URL) argument to start with -. */ stillflags = FALSE; else { nextarg = (i < (argc - 1)) ? argv[i + 1] : NULL; result = getparameter(flag, nextarg, &passarg, config); if(!result && passarg) i++; /* we're supposed to skip this */ } } else { bool used; /* Just add the URL please */ result = getparameter((char *)"--url", argv[i], &used, config); } } if(result && result != PARAM_HELP_REQUESTED) { const char *reason = param2text(result); helpf(config->errors, "option %s: %s\n", orig_opt, reason); } return result; } src/tool_getparam.h +4 −1 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2014, 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 Loading Loading @@ -51,5 +51,8 @@ void parse_cert_parameter(const char *cert_parameter, char **passphrase); #endif ParameterError parse_args(struct Configurable *config, int argc, argv_item_t argv[]); #endif /* HEADER_CURL_TOOL_GETPARAM_H */ src/tool_operate.c +8 −39 Original line number Diff line number Diff line Loading @@ -199,9 +199,7 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[]) CURL *curl = NULL; char *httpgetfields = NULL; bool stillflags; int res = 0; int i; unsigned long li; bool orig_noprogress; Loading Loading @@ -251,45 +249,16 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[]) } } /* Parse options */ for(i = 1, stillflags = TRUE; i < argc; i++) { char *orig_opt = argv[i]; if(stillflags && ('-' == argv[i][0])) { char *nextarg; bool passarg; char *flag = argv[i]; if(curlx_strequal("--", argv[i])) /* this indicates the end of the flags and thus enables the following (URL) argument to start with -. */ stillflags = FALSE; else { nextarg = (i < (argc-1)) ? argv[i+1] : NULL; res = getparameter(flag, nextarg, &passarg, config); if(!res && passarg) /* we're supposed to skip this */ i++; } } else { bool used; /* just add the URL please */ res = getparameter((char *)"--url", argv[i], &used, config); } /* Parse the command line arguments */ res = parse_args(config, argc, argv); if(res) { int retval = CURLE_OK; if(res != PARAM_HELP_REQUESTED) { const char *reason = param2text(res); helpf(config->errors, "option %s: %s\n", orig_opt, reason); retval = CURLE_FAILED_INIT; } res = retval; if(res != PARAM_HELP_REQUESTED) res = CURLE_FAILED_INIT; else res = CURLE_OK; goto quit_curl; } } if(config->userpwd && !config->xoauth2_bearer) { res = checkpasswd("host", &config->userpwd); Loading Loading
src/tool_getparam.c +44 −0 Original line number Diff line number Diff line Loading @@ -1847,3 +1847,47 @@ ParameterError getparameter(char *flag, /* f or -long-flag */ return PARAM_OK; } ParameterError parse_args(struct Configurable *config, int argc, argv_item_t argv[]) { int i; bool stillflags; char *orig_opt; ParameterError result = PARAM_OK; for(i = 1, stillflags = TRUE; i < argc && !result; i++) { orig_opt = argv[i]; if(stillflags && ('-' == argv[i][0])) { char *nextarg; bool passarg; char *flag = argv[i]; if(curlx_strequal("--", argv[i])) /* This indicates the end of the flags and thus enables the following (URL) argument to start with -. */ stillflags = FALSE; else { nextarg = (i < (argc - 1)) ? argv[i + 1] : NULL; result = getparameter(flag, nextarg, &passarg, config); if(!result && passarg) i++; /* we're supposed to skip this */ } } else { bool used; /* Just add the URL please */ result = getparameter((char *)"--url", argv[i], &used, config); } } if(result && result != PARAM_HELP_REQUESTED) { const char *reason = param2text(result); helpf(config->errors, "option %s: %s\n", orig_opt, reason); } return result; }
src/tool_getparam.h +4 −1 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2014, 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 Loading Loading @@ -51,5 +51,8 @@ void parse_cert_parameter(const char *cert_parameter, char **passphrase); #endif ParameterError parse_args(struct Configurable *config, int argc, argv_item_t argv[]); #endif /* HEADER_CURL_TOOL_GETPARAM_H */
src/tool_operate.c +8 −39 Original line number Diff line number Diff line Loading @@ -199,9 +199,7 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[]) CURL *curl = NULL; char *httpgetfields = NULL; bool stillflags; int res = 0; int i; unsigned long li; bool orig_noprogress; Loading Loading @@ -251,45 +249,16 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[]) } } /* Parse options */ for(i = 1, stillflags = TRUE; i < argc; i++) { char *orig_opt = argv[i]; if(stillflags && ('-' == argv[i][0])) { char *nextarg; bool passarg; char *flag = argv[i]; if(curlx_strequal("--", argv[i])) /* this indicates the end of the flags and thus enables the following (URL) argument to start with -. */ stillflags = FALSE; else { nextarg = (i < (argc-1)) ? argv[i+1] : NULL; res = getparameter(flag, nextarg, &passarg, config); if(!res && passarg) /* we're supposed to skip this */ i++; } } else { bool used; /* just add the URL please */ res = getparameter((char *)"--url", argv[i], &used, config); } /* Parse the command line arguments */ res = parse_args(config, argc, argv); if(res) { int retval = CURLE_OK; if(res != PARAM_HELP_REQUESTED) { const char *reason = param2text(res); helpf(config->errors, "option %s: %s\n", orig_opt, reason); retval = CURLE_FAILED_INIT; } res = retval; if(res != PARAM_HELP_REQUESTED) res = CURLE_FAILED_INIT; else res = CURLE_OK; goto quit_curl; } } if(config->userpwd && !config->xoauth2_bearer) { res = checkpasswd("host", &config->userpwd); Loading