Module Name: src Committed By: kre Date: Tue Nov 21 03:42:39 UTC 2017
Modified Files: src/bin/sh: option.list options.c output.c output.h Log Message: Remove the -X option from SMALL shells (as used on boot floppies, some other install media, mini-roots, etc.) It is unlikely that such a shell will be used for much script debugging (and the old -x still exists of course) and it adds a little bloat, so, zap... The ancient unused (unrelated) xioctl() function is gone as well (from all shells). To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/bin/sh/option.list cvs rdiff -u -r1.51 -r1.52 src/bin/sh/options.c cvs rdiff -u -r1.39 -r1.40 src/bin/sh/output.c cvs rdiff -u -r1.26 -r1.27 src/bin/sh/output.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/bin/sh/option.list diff -u src/bin/sh/option.list:1.7 src/bin/sh/option.list:1.8 --- src/bin/sh/option.list:1.7 Sun Nov 19 03:23:01 2017 +++ src/bin/sh/option.list Tue Nov 21 03:42:39 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: option.list,v 1.7 2017/11/19 03:23:01 kre Exp $ */ +/* $NetBSD: option.list,v 1.8 2017/11/21 03:42:39 kre Exp $ */ /* * define the shell's settable options @@ -66,7 +66,7 @@ qflag quietprofile q # disable -v/-x in fnline1 local_lineno L on # number lines in funcs starting at 1 promptcmds promptcmds # allow $( ) in PS1 (et al). pipefail pipefail # pipe exit status -Xflag Xtrace X # sticky stderr for -x (implies -x) +Xflag Xtrace X #ifndef SMALL # sticky stderr for -x (implies -x) // editline/history related options ("vi" is standard, 'V' and others are not) // only one of vi/emacs can be set, hence the "set" definition, value Index: src/bin/sh/options.c diff -u src/bin/sh/options.c:1.51 src/bin/sh/options.c:1.52 --- src/bin/sh/options.c:1.51 Sun Nov 19 03:23:01 2017 +++ src/bin/sh/options.c Tue Nov 21 03:42:39 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: options.c,v 1.51 2017/11/19 03:23:01 kre Exp $ */ +/* $NetBSD: options.c,v 1.52 2017/11/21 03:42:39 kre Exp $ */ /*- * Copyright (c) 1991, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)options.c 8.2 (Berkeley) 5/4/95"; #else -__RCSID("$NetBSD: options.c,v 1.51 2017/11/19 03:23:01 kre Exp $"); +__RCSID("$NetBSD: options.c,v 1.52 2017/11/21 03:42:39 kre Exp $"); #endif #endif /* not lint */ @@ -252,8 +252,10 @@ set_opt_val(size_t i, int val) if (optlist[j].opt_set == flag) optlist[j].val = 0; } +#ifndef SMALL if (i == _SH_OPT_Xflag) xtracefdsetup(val); +#endif optlist[i].val = val; #ifdef DEBUG if (&optlist[i].val == &debug) @@ -309,8 +311,10 @@ minus_o(char *name, int val) for (i = 0; i < NOPTS; i++) if (optlist[i].name && equal(name, optlist[i].name)) { set_opt_val(i, val); +#ifndef SMALL if (i == _SH_OPT_Xflag) set_opt_val(_SH_OPT_xflag, val); +#endif return; } error("Illegal option %co %s", "+-"[val], name); @@ -326,8 +330,10 @@ setoption(int flag, int val) for (i = 0; i < NOPTS; i++) if (optlist[i].letter == flag) { set_opt_val(i, val); +#ifndef SMALL if (i == _SH_OPT_Xflag) set_opt_val(_SH_OPT_xflag, val); +#endif return; } error("Illegal option %c%c", "+-"[val], flag); Index: src/bin/sh/output.c diff -u src/bin/sh/output.c:1.39 src/bin/sh/output.c:1.40 --- src/bin/sh/output.c:1.39 Sun Nov 19 03:23:01 2017 +++ src/bin/sh/output.c Tue Nov 21 03:42:39 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: output.c,v 1.39 2017/11/19 03:23:01 kre Exp $ */ +/* $NetBSD: output.c,v 1.40 2017/11/21 03:42:39 kre Exp $ */ /*- * Copyright (c) 1991, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)output.c 8.2 (Berkeley) 5/4/95"; #else -__RCSID("$NetBSD: output.c,v 1.39 2017/11/19 03:23:01 kre Exp $"); +__RCSID("$NetBSD: output.c,v 1.40 2017/11/21 03:42:39 kre Exp $"); #endif #endif /* not lint */ @@ -76,15 +76,23 @@ __RCSID("$NetBSD: output.c,v 1.39 2017/1 #define BLOCK_OUT -2 /* output to a fixed block of memory */ #define MEM_OUT -3 /* output to dynamically allocated memory */ +#ifdef SMALL +#define CHAIN +#else +#define CHAIN ,NULL +#endif + /* nextc nleft bufsize buf fd flags chain */ -struct output output = {NULL, 0, OUTBUFSIZ, NULL, 1, 0, NULL }; -struct output errout = {NULL, 0, 100, NULL, 2, 0, NULL }; -struct output memout = {NULL, 0, 0, NULL, MEM_OUT, 0, NULL }; +struct output output = {NULL, 0, OUTBUFSIZ, NULL, 1, 0 CHAIN }; +struct output errout = {NULL, 0, 100, NULL, 2, 0 CHAIN }; +struct output memout = {NULL, 0, 0, NULL, MEM_OUT, 0 CHAIN }; struct output *out1 = &output; struct output *out2 = &errout; +#ifndef SMALL struct output *outx = &errout; struct output *outxtop = NULL; +#endif #ifdef mkinit @@ -133,11 +141,13 @@ out2str(const char *p) outstr(p, out2); } +#ifndef SMALL void outxstr(const char *p) { outstr(p, outx); } +#endif void @@ -158,11 +168,13 @@ out2shstr(const char *p) outshstr(p, out2); } +#ifndef SMALL void outxshstr(const char *p) { outshstr(p, outx); } +#endif /* * ' is in this list, not because it does not require quoting @@ -614,21 +626,7 @@ xwrite(int fd, char *buf, int nbytes) return nbytes; } - -/* - * Version of ioctl that retries after a signal is caught. - * XXX unused function - */ - -int -xioctl(int fd, unsigned long request, char *arg) -{ - int i; - - while ((i = ioctl(fd, request, arg)) == -1 && errno == EINTR); - return i; -} - +#ifndef SMALL static void xtrace_fd_swap(int from, int to) { @@ -754,3 +752,4 @@ xtrace_pop(void) CTRACE(DBG_OUTPUT, ("-> fd=%d buf=%p nleft=%d flags=%x\n", outx->fd, outx->buf, outx->nleft, outx->flags)); } +#endif /* SMALL */ Index: src/bin/sh/output.h diff -u src/bin/sh/output.h:1.26 src/bin/sh/output.h:1.27 --- src/bin/sh/output.h:1.26 Sun Nov 19 03:23:01 2017 +++ src/bin/sh/output.h Tue Nov 21 03:42:39 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: output.h,v 1.26 2017/11/19 03:23:01 kre Exp $ */ +/* $NetBSD: output.h,v 1.27 2017/11/21 03:42:39 kre Exp $ */ /*- * Copyright (c) 1991, 1993 @@ -45,7 +45,9 @@ struct output { char *buf; short fd; short flags; +#ifndef SMALL struct output *chain; +#endif }; /* flags for ->flags */ @@ -57,15 +59,24 @@ extern struct output errout; extern struct output memout; extern struct output *out1; extern struct output *out2; +#ifdef SMALL +#define outx out2 +#else extern struct output *outx; +#endif void open_mem(char *, int, struct output *); void out1str(const char *); void out2str(const char *); -void outxstr(const char *); void outstr(const char *, struct output *); void out2shstr(const char *); +#ifdef SMALL +#define outxstr out2str +#define outxshstr out2shstr +#else +void outxstr(const char *); void outxshstr(const char *); +#endif void outshstr(const char *, struct output *); void emptyoutbuf(struct output *); void flushall(void); @@ -79,10 +90,15 @@ void debugprintf(const char *, ...) __pr void fmtstr(char *, size_t, const char *, ...) __printflike(3, 4); void doformat(struct output *, const char *, va_list) __printflike(2, 0); int xwrite(int, char *, int); -int xioctl(int, unsigned long, char *); +#ifdef SMALL +#define xtracefdsetup(x) do { break; } while (0) +#define xtrace_clone(x) do { break; } while (0) +#define xtrace_pop() do { break; } while (0) +#else void xtracefdsetup(int); void xtrace_clone(int); void xtrace_pop(void); +#endif #define outc(c, file) (--(file)->nleft < 0? (emptyoutbuf(file), *(file)->nextc++ = (c)) : (*(file)->nextc++ = (c))) #define out1c(c) outc(c, out1)