tool: Moved --showerror to the global config
authorSteve Holme <steve_holme@hotmail.com>
Sun, 23 Feb 2014 16:37:28 +0000 (16:37 +0000)
committerSteve Holme <steve_holme@hotmail.com>
Tue, 25 Feb 2014 20:52:36 +0000 (20:52 +0000)
Other global options such as --libcurl, --trace and --verbose to
follow.

src/tool_cfgable.c
src/tool_cfgable.h
src/tool_getparam.c
src/tool_main.c
src/tool_operate.c

index 9eb29dd..2a3c06f 100644 (file)
@@ -32,7 +32,6 @@ void config_init(struct OperationConfig* config)
 
   config->errors = stderr; /* default errors to stderr */
   config->postfieldsize = -1;
-  config->showerror = -1; /* will show errors */
   config->use_httpget = FALSE;
   config->create_dirs = FALSE;
   config->maxredirs = DEFAULT_MAXREDIRS;
index 78d17c7..e88b978 100644 (file)
@@ -70,9 +70,6 @@ struct OperationConfig {
   char *dns_interface; /* interface name */
   char *dns_ipv4_addr; /* dot notation */
   char *dns_ipv6_addr; /* dot notation */
-  int showerror; /* -1 == unset, default => show errors
-                    0 => -s is used to NOT show errors
-                    1 => -S has been used to show errors */
   char *userpwd;
   char *login_options;
   char *tls_username;
@@ -222,6 +219,9 @@ struct OperationConfig {
 
 struct GlobalConfig {
   CURL *easy;                     /* Once we have one, we keep it here */
+  int showerror;                  /* -1 == unset, default => show errors
+                                      0 => -s is used to NOT show errors
+                                      1 => -S has been used to show errors */
 
   struct OperationConfig *first;
   struct OperationConfig *current;
index 701f43d..9cd996c 100644 (file)
@@ -1619,15 +1619,15 @@ ParameterError getparameter(char *flag,    /* f or -long-flag */
         config->mute = config->noprogress = TRUE;
       else
         config->mute = config->noprogress = FALSE;
-      if(config->showerror < 0)
+      if(global->showerror < 0)
         /* if still on the default value, set showerror to the reverse of
            toggle. This is to allow -S and -s to be used in an independent
            order but still have the same effect. */
-        config->showerror = (!toggle)?TRUE:FALSE; /* toggle off */
+        global->showerror = (!toggle)?TRUE:FALSE; /* toggle off */
       break;
     case 'S':
       /* show errors */
-      config->showerror = toggle?1:0; /* toggle on if used with -s */
+      global->showerror = toggle?1:0; /* toggle on if used with -s */
       break;
     case 't':
       /* Telnet options */
index 7bdd253..06c2839 100644 (file)
@@ -130,6 +130,9 @@ static CURLcode main_init(struct GlobalConfig *config)
   _djstat_flags |= _STAT_INODE | _STAT_EXEC_MAGIC | _STAT_DIRSIZE;
 #endif
 
+  /* Initialise the global config */
+  config->showerror = -1;             /* Will show errors */
+
   /* Allocate the initial operate config */
   config->first = config->last = malloc(sizeof(struct OperationConfig));
   if(config->first) {
@@ -213,7 +216,7 @@ int main(int argc, char *argv[])
     result = operate(&global, argc, argv);
 
 #ifdef __SYMBIAN32__
-    if(global.first->showerror)
+    if(global.showerror)
       tool_pressanykey();
 #endif
 
index 2fb9453..faecd8f 100644 (file)
@@ -187,7 +187,8 @@ static curl_off_t VmsSpecialSize(const char * name,
 }
 #endif /* __VMS */
 
-static CURLcode operate_do(struct OperationConfig *config)
+static CURLcode operate_do(struct GlobalConfig *global,
+                           struct OperationConfig *config)
 {
   char errorbuffer[CURL_ERROR_SIZE];
   struct ProgressData progressbar;
@@ -408,7 +409,7 @@ static CURLcode operate_do(struct OperationConfig *config)
     if(!config->globoff && infiles) {
       /* Unless explicitly shut off */
       res = glob_url(&inglob, infiles, &infilenum,
-                     config->showerror?config->errors:NULL);
+                     global->showerror?config->errors:NULL);
       if(res) {
         Curl_safefree(outfiles);
         break;
@@ -459,7 +460,7 @@ static CURLcode operate_do(struct OperationConfig *config)
         /* Unless explicitly shut off, we expand '{...}' and '[...]'
            expressions and return total number of URLs in pattern set */
         res = glob_url(&urls, urlnode->url, &urlnum,
-                       config->showerror?config->errors:NULL);
+                       global->showerror?config->errors:NULL);
         if(res) {
           Curl_safefree(uploadfile);
           break;
@@ -1554,12 +1555,12 @@ static CURLcode operate_do(struct OperationConfig *config)
 #ifdef __VMS
         if(is_vms_shell()) {
           /* VMS DCL shell behavior */
-          if(!config->showerror)
+          if(!global->showerror)
             vms_show = VMSSTS_HIDE;
         }
         else
 #endif
-        if(res && config->showerror) {
+        if(res && global->showerror) {
           fprintf(config->errors, "curl: (%d) %s\n", res, (errorbuffer[0]) ?
                   errorbuffer : curl_easy_strerror((CURLcode)res));
           if(res == CURLE_SSL_CACERT)
@@ -1836,7 +1837,7 @@ CURLcode operate(struct GlobalConfig *config, int argc, argv_item_t argv[])
 
       /* Perform each operation */
       while(!result && config->current) {
-        result = operate_do(config->current);
+        result = operate_do(config, config->current);
 
         config->current = config->current->next;
       }