diff options
author | J.T. Conklin <jtc@acorntoolworks.com> | 1995-03-27 18:49:58 +0000 |
---|---|---|
committer | J.T. Conklin <jtc@acorntoolworks.com> | 1995-03-27 18:49:58 +0000 |
commit | 057af5c96c91bb3e31f526c7ca1c73f3836b09ac (patch) | |
tree | 253123d27f671f46084f5b2a80364abf1d1b8ee2 /sim/sh | |
parent | 8b550686c0bf98fe7f040e348414a7d95c2faf64 (diff) | |
download | gdb-057af5c96c91bb3e31f526c7ca1c73f3836b09ac.zip gdb-057af5c96c91bb3e31f526c7ca1c73f3836b09ac.tar.gz gdb-057af5c96c91bb3e31f526c7ca1c73f3836b09ac.tar.bz2 |
* run.c: parse arguments with getopt().
Diffstat (limited to 'sim/sh')
-rw-r--r-- | sim/sh/run.c | 75 |
1 files changed, 43 insertions, 32 deletions
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. */ |