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;
+}
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * 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
char **passphrase);
#endif
+ParameterError parse_args(struct Configurable *config, int argc,
+ argv_item_t argv[]);
+
#endif /* HEADER_CURL_TOOL_GETPARAM_H */
CURL *curl = NULL;
char *httpgetfields = NULL;
- bool stillflags;
int res = 0;
- int i;
unsigned long li;
bool orig_noprogress;
}
}
- /* 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) {
+ if(res != PARAM_HELP_REQUESTED)
+ res = CURLE_FAILED_INIT;
+ else
+ res = CURLE_OK;
- 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;
- goto quit_curl;
- }
+ goto quit_curl;
}
if(config->userpwd && !config->xoauth2_bearer) {