summaryrefslogtreecommitdiffstats
path: root/bin/sh/options.h
diff options
context:
space:
mode:
authorjilles <jilles@FreeBSD.org>2016-01-07 23:13:20 +0000
committerjilles <jilles@FreeBSD.org>2016-01-07 23:13:20 +0000
commitacacb5074b2237806e9955d5aeafb3cbac26a80d (patch)
treec20ea8b5ec4098e9f3256f758d8c0867eb765b7f /bin/sh/options.h
parent66aa33e3b54566ac437dc5e07c902034dd158713 (diff)
downloadFreeBSD-src-acacb5074b2237806e9955d5aeafb3cbac26a80d.zip
FreeBSD-src-acacb5074b2237806e9955d5aeafb3cbac26a80d.tar.gz
sh: Reduce size of options table.
Diffstat (limited to 'bin/sh/options.h')
-rw-r--r--bin/sh/options.h95
1 files changed, 46 insertions, 49 deletions
diff --git a/bin/sh/options.h b/bin/sh/options.h
index b5cd67f..d997e6f 100644
--- a/bin/sh/options.h
+++ b/bin/sh/options.h
@@ -45,60 +45,57 @@ struct shparam {
-#define eflag optlist[0].val
-#define fflag optlist[1].val
-#define Iflag optlist[2].val
-#define iflag optlist[3].val
-#define mflag optlist[4].val
-#define nflag optlist[5].val
-#define sflag optlist[6].val
-#define xflag optlist[7].val
-#define vflag optlist[8].val
-#define Vflag optlist[9].val
-#define Eflag optlist[10].val
-#define Cflag optlist[11].val
-#define aflag optlist[12].val
-#define bflag optlist[13].val
-#define uflag optlist[14].val
-#define privileged optlist[15].val
-#define Tflag optlist[16].val
-#define Pflag optlist[17].val
-#define hflag optlist[18].val
-#define nologflag optlist[19].val
+#define eflag optval[0]
+#define fflag optval[1]
+#define Iflag optval[2]
+#define iflag optval[3]
+#define mflag optval[4]
+#define nflag optval[5]
+#define sflag optval[6]
+#define xflag optval[7]
+#define vflag optval[8]
+#define Vflag optval[9]
+#define Eflag optval[10]
+#define Cflag optval[11]
+#define aflag optval[12]
+#define bflag optval[13]
+#define uflag optval[14]
+#define privileged optval[15]
+#define Tflag optval[16]
+#define Pflag optval[17]
+#define hflag optval[18]
+#define nologflag optval[19]
#define NSHORTOPTS 19
#define NOPTS 20
-struct optent {
- const char *name;
- const char letter;
- char val;
-};
-
-extern struct optent optlist[NOPTS];
+extern char optval[NOPTS];
+extern const char optletter[NSHORTOPTS];
#ifdef DEFINE_OPTIONS
-struct optent optlist[NOPTS] = {
- { "errexit", 'e', 0 },
- { "noglob", 'f', 0 },
- { "ignoreeof", 'I', 0 },
- { "interactive",'i', 0 },
- { "monitor", 'm', 0 },
- { "noexec", 'n', 0 },
- { "stdin", 's', 0 },
- { "xtrace", 'x', 0 },
- { "verbose", 'v', 0 },
- { "vi", 'V', 0 },
- { "emacs", 'E', 0 },
- { "noclobber", 'C', 0 },
- { "allexport", 'a', 0 },
- { "notify", 'b', 0 },
- { "nounset", 'u', 0 },
- { "privileged", 'p', 0 },
- { "trapsasync", 'T', 0 },
- { "physical", 'P', 0 },
- { "trackall", 'h', 0 },
- { "nolog", '\0', 0 },
-};
+char optval[NOPTS];
+const char optletter[NSHORTOPTS] = "efIimnsxvVECabupTPh";
+static const unsigned char optname[] =
+ "\007errexit"
+ "\006noglob"
+ "\011ignoreeof"
+ "\013interactive"
+ "\007monitor"
+ "\006noexec"
+ "\005stdin"
+ "\006xtrace"
+ "\007verbose"
+ "\002vi"
+ "\005emacs"
+ "\011noclobber"
+ "\011allexport"
+ "\006notify"
+ "\007nounset"
+ "\012privileged"
+ "\012trapsasync"
+ "\010physical"
+ "\010trackall"
+ "\005nolog"
+;
#endif
OpenPOWER on IntegriCloud