vms_show: post VMS patch cleanup - II
authorYang Tse <yangsita@gmail.com>
Wed, 6 Feb 2013 03:51:55 +0000 (04:51 +0100)
committerYang Tse <yangsita@gmail.com>
Wed, 6 Feb 2013 03:51:55 +0000 (04:51 +0100)
- remove multiple declarations of vms_show and add comments

src/tool_main.c
src/tool_operate.c
src/tool_setup.h
src/tool_vms.h

index 00a2410..95e9cc7 100644 (file)
  */
 #include "memdebug.h" /* keep this as LAST include */
 
+#ifdef __VMS
+/*
+ * vms_show is a global variable, used in main() as parameter for
+ * function vms_special_exit() to allow proper curl tool exiting.
+ * Its value may be set in other tool_*.c source files thanks to
+ * forward declaration present in tool_vms.h
+ */
+static int vms_show = 0;
+#endif
+
 /*
  * Ensure that file descriptors 0, 1 and 2 (stdin, stdout, stderr) are
  * open before starting to run.  Otherwise, the first three network
index 1a168af..4166fc2 100644 (file)
@@ -73,6 +73,7 @@
 #include "tool_writeenv.h"
 #include "tool_writeout.h"
 #include "tool_xattr.h"
+#include "tool_vms.h"
 
 #include "memdebug.h" /* keep this as LAST include */
 
@@ -1537,7 +1538,6 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
         show_error:
 
 #ifdef __VMS
-        vms_show = 0;
         if(is_vms_shell()) {
           /* VMS DCL shell behavior */
           if(!config->showerror)
index 2065b6f..c94686f 100644 (file)
 #  define main(x,y) curl_main(x,y)
 #endif
 
-#ifdef __VMS
-#   include "tool_vms.h"
-#endif
-
 #ifdef TPF
 #  undef select
    /* change which select is used for the curl command line tool */
index ad1339c..1afd75e 100644 (file)
 
 #ifdef __VMS
 
-int vms_show;  /* If VMS error code has been written */
+/*
+ * Forward-declaration of global variable vms_show defined
+ * in tool_main.c, used in main() as parameter for function
+ * vms_special_exit() to allow proper curl tool exiting.
+ */
+extern int vms_show;
 
 int is_vms_shell(void);
 void vms_special_exit(int code, int vms_show);