Add scratch file handles.
[pspp] / src / cmdline.c
index 630aab88526727bd468bd9fc4a9a24faf89c1a50..b9205a14ed5a6358c5bff387e11d7a8afa4c8d6c 100644 (file)
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA. */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA. */
 
 #include <config.h>
 #include "cmdline.h"
 #include <getopt.h>
 #include <stdlib.h>
 #include "alloc.h"
+#include "copyleft.h"
 #include "error.h"
 #include "filename.h"
-#include "getline.h"
+#include "getl.h"
+#include "glob.h"
 #include "main.h"
 #include "output.h"
+#include "progname.h"
 #include "settings.h"
 #include "str.h"
 #include "var.h"
 #include "version.h"
-#include "copyleft.h"
+
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+#define N_(msgid) msgid
 
 void welcome (void);
 static void usage (void);
 
 char *subst_vars (char *);
 
-static int testing_mode=0;
-
 /* Parses the command line specified by ARGC and ARGV as received by
    main(). */
 void
@@ -69,7 +73,7 @@ parse_command_line (int argc, char **argv)
     {"recon", no_argument, NULL, 'n'},
     {"safer", no_argument, NULL, 's'},
     {"syntax", required_argument, NULL, 'x'},
-    {"testing-mode", no_argument, &testing_mode, 1},
+    {"testing-mode", no_argument, NULL, 'T'},
     {"verbose", no_argument, NULL, 'v'},
     {"version", no_argument, NULL, 'V'},
     {0, 0, 0, 0},
@@ -77,9 +81,8 @@ parse_command_line (int argc, char **argv)
 
   int c, i;
 
-  int cleared_device_defaults = 0;
-
-  int no_statrc = 0;
+  bool cleared_device_defaults = false;
+  bool no_statrc = false;
 
   for (;;)
     {
@@ -139,7 +142,7 @@ parse_command_line (int argc, char **argv)
          config_path = optarg;
          break;
        case 'f':
-         printf(_("%s is not yet implemented."), "-f");
+         printf (_("%s is not yet implemented."), "-f");
           putchar('\n');
          break;
        case 'h':
@@ -156,7 +159,7 @@ parse_command_line (int argc, char **argv)
          break;
        case 'l':
          outp_list_classes ();
-         err_hcf (1);
+         terminate (true);
        case 'n':
          printf (_("%s is not yet implemented."),"-n");
           putchar('\n');
@@ -165,7 +168,7 @@ parse_command_line (int argc, char **argv)
          if (!cleared_device_defaults)
            {
              outp_configure_clear ();
-             cleared_device_defaults = 1;
+             cleared_device_defaults = true;
            }
          outp_configure_add (optarg);
          break;
@@ -174,10 +177,10 @@ parse_command_line (int argc, char **argv)
           putchar('\n');
          break;
        case 'r':
-         no_statrc = 1;
+         no_statrc = true;
          break;
        case 's':
-         make_safe();
+         set_safer_mode ();
          break;
        case 'v':
          err_verbosity++;
@@ -185,7 +188,11 @@ parse_command_line (int argc, char **argv)
        case 'V':
          puts (version);
          puts (legal);
-         err_hcf (1);
+         terminate (true);
+        case 'T':
+          force_long_view ();
+          set_testing_mode (true);
+          break;
        case '?':
          usage ();
          assert (0);
@@ -196,14 +203,6 @@ parse_command_line (int argc, char **argv)
        }
     }
 
-
-  if (testing_mode)
-    {
-      /* FIXME: Later this option should do some other things, too. */
-      force_long_view();
-    }
-    
-
   for (i = optind; i < argc; i++)
     {
       int separate = 1;
@@ -284,9 +283,9 @@ static const char post_syntax_message[] = N_("\nReport bugs to <%s>.\n");
 static void
 usage (void)
 {
-  printf (gettext (pre_syntax_message), pgmname);
+  printf (gettext (pre_syntax_message), program_name);
   outp_list_classes ();
-  printf (gettext (post_syntax_message),PACKAGE_BUGREPORT);
+  printf (gettext (post_syntax_message), PACKAGE_BUGREPORT);
 
-  err_hcf (1);
+  terminate (true);
 }