From 057af5c96c91bb3e31f526c7ca1c73f3836b09ac Mon Sep 17 00:00:00 2001 From: "J.T. Conklin" Date: Mon, 27 Mar 1995 18:49:58 +0000 Subject: [PATCH] * run.c: parse arguments with getopt(). --- sim/h8300/run.c | 53 ++++++++++++++++++++++++++------------- sim/sh/run.c | 75 +++++++++++++++++++++++++++++++------------------------ sim/w65/ChangeLog | 4 +++ sim/w65/run.c | 47 +++++++++++++++++++++------------- 4 files changed, 112 insertions(+), 67 deletions(-) diff --git a/sim/h8300/run.c b/sim/h8300/run.c index 49c0868..8078025 100644 --- a/sim/h8300/run.c +++ b/sim/h8300/run.c @@ -24,6 +24,10 @@ #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); +} diff --git a/sim/sh/run.c b/sim/sh/run.c index 9a00852..d4acb30 100644 --- a/sim/sh/run.c +++ b/sim/sh/run.c @@ -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); +} + /* Callbacks used by the simulator proper. */ diff --git a/sim/w65/ChangeLog b/sim/w65/ChangeLog index d077254..2abb1a2 100644 --- a/sim/w65/ChangeLog +++ b/sim/w65/ChangeLog @@ -1,3 +1,7 @@ +Mon Mar 27 10:32:34 1995 J.T. Conklin + + * run.c: parse arguments with getopt(). + Tue Feb 28 17:31:36 1995 Ian Lance Taylor * configure.in: Use ../../bfd/hosts/std-host.h if specific diff --git a/sim/w65/run.c b/sim/w65/run.c index da81dd2..ad08004 100644 --- a/sim/w65/run.c +++ b/sim/w65/run.c @@ -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); +} -- 2.7.4