* run.c: parse arguments with getopt().
authorJ.T. Conklin <jtc@acorntoolworks.com>
Mon, 27 Mar 1995 18:49:58 +0000 (18:49 +0000)
committerJ.T. Conklin <jtc@acorntoolworks.com>
Mon, 27 Mar 1995 18:49:58 +0000 (18:49 +0000)
sim/h8300/run.c
sim/sh/run.c
sim/w65/ChangeLog
sim/w65/run.c

index 49c0868c0f53029ab4a58078284140c6a7d6a245..80780258daa8c23bf92c3e207fc8d591c9751e76 100644 (file)
 #include "sysdep.h"
 #include "remote-sim.h"
 
+void usage();
+extern int optind;
+extern char *optarg;
+
 int
 main (ac, av)
      int ac;
@@ -37,25 +41,31 @@ main (ac, av)
   int trace = 0;
   char *name = "";
 
-  for (i = 1; i < ac; i++)
-    {
-      if (strcmp(av[i],"-v") == 0)
-       verbose++;
-      
-      else if (strcmp(av[i],"-t") == 0) 
-       {
-         trace = 1;
-       }
-      else if (strcmp(av[i],"-c") == 0) 
-       {
-         sim_csize(atoi(av[i+1]));
-         i++;
-       }
-      else if (strcmp(av[i],"-h") == 0) 
+  while ((i = getopt (ac, av, "c:htv")) != EOF)
+    switch (i) 
+      {
+      case 'c':
+       sim_csize (atoi (optarg));
+       break;
+      case 'h':
        set_h8300h (1);
-      else 
-       name = av[i];
-    }
+       break;
+      case 't':
+       trace = 1;
+       break;
+      case 'v':
+       verbose = 1;
+       break;
+      default:
+       usage();
+      }
+  ac -= optind;
+  av += optind;
+
+  if (ac != 1)
+    usage();
+
+  name = *av;
 
   if (verbose)
     printf ("run %s\n", name);
@@ -99,3 +109,10 @@ printf_filtered (va_alist)
   vfprintf (stdout, msg, args);
   va_end (args);
 }
+
+void
+usage()
+{
+  fprintf (stderr, "usage: run [-tv] program\n");
+  exit (1);
+}
index 9a008525c91d9ae3f636446730e009e3b9f875df..d4acb30266ea8e0673f0fb20992d3044c0bd29af 100644 (file)
@@ -1,7 +1,7 @@
-/* run front end support for H8/500
+/* run front end support for SH
    Copyright (C) 1987, 1992 Free Software Foundation, Inc.
 
-This file is part of H8300 SIM
+This file is part of SH SIM
 
 GNU CC is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -27,6 +27,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #include "sysdep.h"
 #include "remote-sim.h"
 
+void usage();
+extern int optind;
+extern char *optarg;
+
 int target_byte_order;
 
 int
@@ -42,36 +46,35 @@ main (ac, av)
   int trace = 0;
   char *name = "";
 
-  for (i = 1; i < ac; i++)
-    {
-      if (strcmp (av[i], "-v") == 0)
-       {
-         verbose = 1;
-       }
-      else if (strcmp (av[i], "-t") == 0)
-       {
-         trace = 1;
-       }
-      else if (strcmp (av[i], "-p") == 0)
-       {
-         sim_set_profile (atoi (av[i + 1]));
-         i++;
-       }
-      else if (strcmp (av[i], "-s") == 0)
-       {
-         sim_set_profile_size (atoi (av[i + 1]));
-         i++;
-       }
-      else if (strcmp (av[i], "-m") == 0)
-       {
-         sim_size (atoi (av[i + 1]));
-         i++;
-       }
-      else
-       {
-         name = av[i];
-       }
-    }
+  while ((i = getopt (ac, av, "m:p:s:tv")) != EOF) 
+    switch (i)
+      {
+      case 'm':
+       sim_size (atoi (optarg));
+       break;
+      case 'p':
+       sim_set_profile (atoi (optarg));
+       break;
+      case 's':
+       sim_set_profile_size (atoi (optarg));
+       break;
+      case 't':
+       trace = 1;
+       break;
+      case 'v':
+       verbose = 1;
+       break;
+      default:
+       usage();
+      }
+  ac -= optind;
+  av += optind;
+
+  if (ac != 1)
+    usage();
+
+  name = *av;
+
   if (verbose)
     {
       printf ("run %s\n", name);
@@ -126,6 +129,14 @@ main (ac, av)
 
   return 1;
 }
+
+void
+usage()
+{
+  fprintf (stderr, "usage: run [-tv] program\n");
+  exit (1);
+}
+
 \f
 /* Callbacks used by the simulator proper.  */
 
index d077254db6dae3ae261895013793965b3e1c046e..2abb1a242e086096a0595f1c6f95d9a8d96e6c93 100644 (file)
@@ -1,3 +1,7 @@
+Mon Mar 27 10:32:34 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+       * run.c: parse arguments with getopt().
+
 Tue Feb 28 17:31:36 1995  Ian Lance Taylor  <ian@cygnus.com>
 
        * configure.in: Use ../../bfd/hosts/std-host.h if specific
index da81dd250fe4eafb7e7bdbf26385a4950281bd05..ad080043e4e79c7bb347cdbcec02f179feb0c8b0 100644 (file)
@@ -25,7 +25,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #include "bfd.h"
 #include "sysdep.h"
 
-extern printf();
+void usage();
+extern int optind;
 
 int
 main (ac, av)
@@ -39,22 +40,27 @@ main (ac, av)
   int verbose = 0;
   int trace = 0;
   char *name = "";
-  
-  for (i = 1; i < ac; i++)
-    {
-      if (strcmp (av[i], "-v") == 0)
-       {
-         verbose = 1;
-       }
-      else if (strcmp (av[i], "-t") == 0)
-       {
-         trace = 1;
-       }
-      else
-       {
-         name = av[i];
-       }
-    }
+
+  while ((i = getopt (ac, av, "tv")) != EOF)
+    switch (i)
+      {
+      case 't':
+       trace = 1;
+       break;
+      case 'v':
+       verbose = 1;
+       break;
+      default:
+       usage();
+      }
+  ac -= optind;
+  av += optind;
+
+  if (ac != 1) 
+    usage();
+
+  name = *av;
+
   if (verbose)
     {
       printf ("run %s\n", name);
@@ -107,3 +113,10 @@ main (ac, av)
 
   return 1;
 }
+
+void
+usage()
+{
+  fprintf (stderr, "usage: run [-tv] program\n");
+  exit (1);
+}