From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from csadfa.cs.adfa.oz.au ([131.236.20.6]) by hawkwind.utcs.toronto.edu with SMTP id <2699>; Mon, 4 Oct 1993 09:16:49 -0400 Received: by csadfa.cs.adfa.oz.au (5.61/1.34) id AA09824; Mon, 4 Oct 93 22:20:27 +1000 Date: Mon, 4 Oct 1993 08:20:27 -0400 From: cjsv@csadfa.cs.adfa.oz.au (Christopher Vance) Message-Id: <9310041220.AA09824@csadfa.cs.adfa.oz.au> To: rc@hawkwind.utcs.toronto.edu Subject: patches to rc 1.4 Cc: cjsv@ccadfa.cc.adfa.oz.au The following patches are with respect to Tom Culliton's complete list, including the recent builtin read, although most of the changes revealed here were made to virgin 1.4 before any patches were posted. My patches were mostly made to enable identical source files to be compiled on several architectures. These sources now compile on Pyramid OSx 5.1a cc -Xa (has no stdarg.h) DomainOS 10.4 cc (both M68K and A88K) SunOS 4.1.3 gcc and closely related sources at one time did compile on ConvexOS 10.1 cc I can't remember if I also compiled the same sources on AIX 3.1; besides, my account on that machine doesn't have a home directory anymore... Since I made the original changes in November, our Convex has disappeared, so I can't verify that these sources still compile on ConvexOS. (A pity, since it had the best ANSI/POSIX environment I've used.) The details of which particular compiler required which change is now lost in history. Also, a number of OS upgrades since then may have made some of the patches unnecessary. The patches to trip.rc may fail on some versions of patch, but should be simple to apply by hand if have some version of gnu emacs. I can also provide these patches with respect to virgin 1.4 if requested. -- Christopher *** /tmp/,RCSt1008584 Mon Oct 4 21:58:48 1993 --- addon.c Mon Oct 4 21:58:22 1993 *************** *** 3,10 builtins. */ - #include "rc.h" /* for bool TRUE, FALSE, configuration options */ - #ifdef DWS /* --- 3,8 ----- builtins. */ #ifdef DWS /* *************** *** 15,20 #include #include #include "addon.h" #include "addon/access.c" --- 13,19 ----- #include #include + #include "rc.h" /* for bool TRUE, FALSE */ #include "addon.h" #include "addon/access.c" *************** *** 26,31 #ifndef DWS #include #include "addon.h" #endif --- 25,31 ----- #ifndef DWS #include + #include "rc.h" /* for bool TRUE, FALSE */ #include "addon.h" #endif *** /tmp/,RCSt1008584 Mon Oct 4 21:58:50 1993 --- config.h-dist Mon Oct 4 21:58:08 1993 *************** *** 108,132 #define NOJOB */ - /* - * Define the macro NEED_VARARGS if your C compiler doesn't have stdarg.h, - * but does have varargs.h. This macro assumes (as is true for the Pyramid) - * that va_alist can appear *after* other arguments in the argument list. - #define NEED_VARARGS - */ - - /* - * Define the macro NEED_STRINGS if your C compiler doesn't have string.h, - * but does have strings.h. - #define NEED_STRINGS - */ - - /* - * Define the macro NEED_ERRNO if your C compiler doesn't declare errno - * but does have strings.h. - #define NEED_STRINGS - */ - /* Beginning of defaults section: */ #ifndef CUSTOM --- 108,113 ----- #define NOJOB */ /* Beginning of defaults section: */ #ifndef CUSTOM *************** *** 153,159 #define PROTECT_ENV #undef DEFAULTPATH #define DEFAULTPATH "/usr/ucb", "/usr/bin", "." - #define DEFAULTINTERP "/bin/sh" #endif /* --- 134,139 ----- #define PROTECT_ENV #undef DEFAULTPATH #define DEFAULTPATH "/usr/ucb", "/usr/bin", "." #endif /* *************** *** 188,194 #if defined(host_mips) && defined(MIPSEB) && defined(SYSTYPE_BSD43) #define NODIRENT #define PROTECT_ENV - #define NEED_ERRNO #endif /* --- 168,173 ----- #if defined(host_mips) && defined(MIPSEB) && defined(SYSTYPE_BSD43) #define NODIRENT #define PROTECT_ENV #endif /* *************** *** 216,244 #define NOLIMITS #define word _word #define DEFAULTINTERP "/bin/sh" - #endif - - /* - * Suggested settings for DomainOS 10.4 - */ - - #ifdef apollo - #define DEFAULTINTERP "/bin/sh" - #define PROTECT_ENV - #define NODIRENT - #endif - - /* - * Suggested settings for OSx 5.1a - */ - - #ifdef pyr - #define DEFAULTINTERP "/bin/sh" - #define PROTECT_ENV - #define NODIRENT - #define NEED_ERRNO - #define NEED_STRINGS - #define NEED_VARARGS #endif #endif /* CUSTOM */ --- 195,200 ----- #define NOLIMITS #define word _word #define DEFAULTINTERP "/bin/sh" #endif #endif /* CUSTOM */ *** /tmp/,RCSt1008584 Mon Oct 4 21:58:52 1993 --- fn.c Mon Oct 4 21:58:10 1993 *************** *** 94,100 sigcommon: default: if (sighandlers[i] != SIG_DFL) { ! rc_signal(i, (sighandler*)SIG_DFL); delete_fn(signals[i].name); } } --- 94,100 ----- sigcommon: default: if (sighandlers[i] != SIG_DFL) { ! rc_signal(i, SIG_DFL); delete_fn(signals[i].name); } } *************** *** 167,173 if (streq(signals[i].name, name)) { handlers[i] = newdef; if (def == NULL) ! rc_signal(i, (sighandler*)SIG_IGN); else rc_signal(i, fn_handler); break; --- 167,173 ----- if (streq(signals[i].name, name)) { handlers[i] = newdef; if (def == NULL) ! rc_signal(i, SIG_IGN); else rc_signal(i, fn_handler); break; *************** *** 241,247 rc_signal(i, def_sigterm); break; default: ! rc_signal(i, (sighandler*)SIG_DFL); } } if (streq(name, "sigexit")) --- 241,247 ----- rc_signal(i, def_sigterm); break; default: ! rc_signal(i, SIG_DFL); } } if (streq(name, "sigexit")) *** /tmp/,RCSt1008584 Mon Oct 4 21:59:01 1993 --- list.c Mon Oct 4 21:58:13 1993 *************** *** 22,29 /* Copy list into malloc space (for storing a variable) */ ! /*extern List *listcpy(List *s, void *(*alloc)(SIZE_T)) {*/ ! extern List *listcpy(List *s, allocf *alloc) { List *top, *r; for (top = r = NULL; s != NULL; s = s->n) { if (top == NULL) --- 22,28 ----- /* Copy list into malloc space (for storing a variable) */ ! extern List *listcpy(List *s, void *(*alloc)(SIZE_T)) { List *top, *r; for (top = r = NULL; s != NULL; s = s->n) { if (top == NULL) *** /tmp/,RCSt1008584 Mon Oct 4 21:59:02 1993 --- main.c Mon Oct 4 21:58:27 1993 *************** *** 8,16 static bool dashoh; - #ifdef NEED_VARARGS - static void assigndefault(); - #else static void assigndefault(char *,...); #endif static void checkfd(int, redirtype); --- 8,13 ----- static bool dashoh; static void assigndefault(char *,...); static void checkfd(int, enum redirtype); *************** *** 12,19 static void assigndefault(); #else static void assigndefault(char *,...); ! #endif ! static void checkfd(int, redirtype); extern void main(int argc, char *argv[], char *envp[]) { char *dashsee[2], *dollarzero, *null[1]; --- 9,15 ----- static bool dashoh; static void assigndefault(char *,...); ! static void checkfd(int, enum redirtype); extern void main(int argc, char *argv[], char *envp[]) { char *dashsee[2], *dollarzero, *null[1]; *************** *** 104,112 rc_exit(getstatus()); } - #ifdef NEED_VARARGS - static void assigndefault(name, va_alist) char *name; va_dcl { - #else static void assigndefault(char *name,...) { #endif va_list ap; --- 100,105 ----- rc_exit(getstatus()); } static void assigndefault(char *name,...) { va_list ap; List *l; *************** *** 108,114 static void assigndefault(name, va_alist) char *name; va_dcl { #else static void assigndefault(char *name,...) { - #endif va_list ap; List *l; char *v; --- 101,106 ----- } static void assigndefault(char *name,...) { va_list ap; List *l; char *v; *************** *** 112,120 va_list ap; List *l; char *v; - #ifdef NEED_VARARGS - va_start(ap); - #else va_start(ap, name); #endif for (l = NULL; (v = va_arg(ap, char *)) != NULL;) --- 104,109 ----- va_list ap; List *l; char *v; va_start(ap, name); for (l = NULL; (v = va_arg(ap, char *)) != NULL;) l = append(l, word(v, NULL)); *************** *** 116,122 va_start(ap); #else va_start(ap, name); - #endif for (l = NULL; (v = va_arg(ap, char *)) != NULL;) l = append(l, word(v, NULL)); varassign(name, l, FALSE); --- 105,110 ----- List *l; char *v; va_start(ap, name); for (l = NULL; (v = va_arg(ap, char *)) != NULL;) l = append(l, word(v, NULL)); varassign(name, l, FALSE); *************** *** 127,133 /* open an fd on /dev/null if it is inherited closed */ ! static void checkfd(int fd, redirtype r) { int new = rc_open("/dev/null", r); if (new != fd && new != -1) close(new); --- 115,121 ----- /* open an fd on /dev/null if it is inherited closed */ ! static void checkfd(int fd, enum redirtype r) { int new = rc_open("/dev/null", r); if (new != fd && new != -1) close(new); *** /tmp/,RCSt1008584 Mon Oct 4 21:59:03 1993 --- mksignal Mon Oct 4 21:58:14 1993 *************** *** 7,14 echo echo 'Sigmsgs signals[] = {' ! sed ' s/\/\*[ ]*(P)[ ]*// ! s/\/\*[ ]*// s/[ ]*\*\/// s/([@*+!]) // s/[ ]*([a-zA-Z,->& ]*)[ ]*// --- 7,13 ----- echo echo 'Sigmsgs signals[] = {' ! sed ' s/\/\*[ ]*// s/[ ]*\*\/// s/([@*+!]) // s/[ ]*([a-zA-Z,->& ]*)[ ]*// *** /tmp/,RCSt1008584 Mon Oct 4 21:59:06 1993 --- print.c Mon Oct 4 21:58:16 1993 *************** *** 175,182 * conversion table management */ ! /*static Conv fmttab[MAXCONV];*/ ! static bool (*fmttab[MAXCONV])(Format *, int); static void inittab(void) { int i; --- 175,181 ----- * conversion table management */ ! static Conv fmttab[MAXCONV]; static void inittab(void) { int i; *************** *** 202,208 fmttab[i] = digitconv; } ! /*extern bool (*fmtinstall(int c, bool (*f)(Format *, int)))(Format *, int) {*/ /*Conv fmtinstall(int c, Conv f) {*/ extern bool (*fmtinstall(c, f))() int c; bool f(); { /*Conv oldf;*/ --- 201,207 ----- fmttab[i] = digitconv; } ! extern bool (*fmtinstall(int c, bool (*f)(Format *, int)))(Format *, int) { /*Conv fmtinstall(int c, Conv f) {*/ Conv oldf; if (fmttab[0] == NULL) *************** *** 204,212 /*extern bool (*fmtinstall(int c, bool (*f)(Format *, int)))(Format *, int) {*/ /*Conv fmtinstall(int c, Conv f) {*/ ! extern bool (*fmtinstall(c, f))() int c; bool f(); { ! /*Conv oldf;*/ ! bool (*oldf)(Format *, int); if (fmttab[0] == NULL) inittab(); c &= MAXCONV - 1; --- 203,209 ----- extern bool (*fmtinstall(int c, bool (*f)(Format *, int)))(Format *, int) { /*Conv fmtinstall(int c, Conv f) {*/ ! Conv oldf; if (fmttab[0] == NULL) inittab(); c &= MAXCONV - 1; *************** *** 271,279 * the public entry points */ - #ifdef NEED_VARARGS - extern int fmtprint(format, fmt, va_alist) Format *format; const char *fmt; va_dcl { - #else extern int fmtprint(Format *format, const char *fmt,...) { #endif int n = -format->flushed; --- 268,273 ----- * the public entry points */ extern int fmtprint(Format *format, const char *fmt,...) { int n = -format->flushed; va_list saveargs = format->args; *************** *** 275,281 extern int fmtprint(format, fmt, va_alist) Format *format; const char *fmt; va_dcl { #else extern int fmtprint(Format *format, const char *fmt,...) { - #endif int n = -format->flushed; va_list saveargs = format->args; --- 269,274 ----- */ extern int fmtprint(Format *format, const char *fmt,...) { int n = -format->flushed; va_list saveargs = format->args; *************** *** 279,287 int n = -format->flushed; va_list saveargs = format->args; - #ifdef NEED_VARARGS - va_start(format->args); - #else va_start(format->args, fmt); #endif n += printfmt(format, fmt); --- 272,277 ----- int n = -format->flushed; va_list saveargs = format->args; va_start(format->args, fmt); n += printfmt(format, fmt); va_end(format->args); *************** *** 283,289 va_start(format->args); #else va_start(format->args, fmt); - #endif n += printfmt(format, fmt); va_end(format->args); format->args = saveargs; --- 273,278 ----- va_list saveargs = format->args; va_start(format->args, fmt); n += printfmt(format, fmt); va_end(format->args); format->args = saveargs; *************** *** 300,308 writeall(format->u.n, buf, n); } - #ifdef NEED_VARARGS - extern int fprint(fd, fmt, va_alist) int fd; const char *fmt; va_dcl { - #else extern int fprint(int fd, const char *fmt,...) { #endif char buf[1024]; --- 289,294 ----- writeall(format->u.n, buf, n); } extern int fprint(int fd, const char *fmt,...) { char buf[1024]; Format format; *************** *** 304,310 extern int fprint(fd, fmt, va_alist) int fd; const char *fmt; va_dcl { #else extern int fprint(int fd, const char *fmt,...) { - #endif char buf[1024]; Format format; --- 290,295 ----- } extern int fprint(int fd, const char *fmt,...) { char buf[1024]; Format format; *************** *** 315,323 format.flushed = 0; format.u.n = fd; - #ifdef NEED_VARARGS - va_start(format.args); - #else va_start(format.args, fmt); #endif printfmt(&format, fmt); --- 300,305 ----- format.flushed = 0; format.u.n = fd; va_start(format.args, fmt); printfmt(&format, fmt); va_end(format.args); *************** *** 319,325 va_start(format.args); #else va_start(format.args, fmt); - #endif printfmt(&format, fmt); va_end(format.args); --- 301,306 ----- format.u.n = fd; va_start(format.args, fmt); printfmt(&format, fmt); va_end(format.args); *************** *** 356,364 return format->bufbegin; } - #ifdef NEED_VARARGS - extern char *mprint(fmt, va_alist) const char *fmt; va_dcl { - #else extern char *mprint(const char *fmt,...) { #endif Format format; --- 337,342 ----- return format->bufbegin; } extern char *mprint(const char *fmt,...) { Format format; char *result; *************** *** 360,366 extern char *mprint(fmt, va_alist) const char *fmt; va_dcl { #else extern char *mprint(const char *fmt,...) { - #endif Format format; char *result; format.u.n = 1; --- 338,343 ----- } extern char *mprint(const char *fmt,...) { Format format; char *result; format.u.n = 1; *************** *** 364,372 Format format; char *result; format.u.n = 1; - #ifdef NEED_VARARGS - va_start(format.args); - #else va_start(format.args, fmt); #endif result = memprint(&format, fmt, ealloc(PRINT_ALLOCSIZE), PRINT_ALLOCSIZE); --- 341,346 ----- Format format; char *result; format.u.n = 1; va_start(format.args, fmt); result = memprint(&format, fmt, ealloc(PRINT_ALLOCSIZE), PRINT_ALLOCSIZE); va_end(format.args); *************** *** 368,374 va_start(format.args); #else va_start(format.args, fmt); - #endif result = memprint(&format, fmt, ealloc(PRINT_ALLOCSIZE), PRINT_ALLOCSIZE); va_end(format.args); return result; --- 342,347 ----- char *result; format.u.n = 1; va_start(format.args, fmt); result = memprint(&format, fmt, ealloc(PRINT_ALLOCSIZE), PRINT_ALLOCSIZE); va_end(format.args); return result; *************** *** 374,382 return result; } - #ifdef NEED_VARARGS - extern char *nprint(fmt, va_alist) const char *fmt; va_dcl { - #else extern char *nprint(const char *fmt,...) { #endif Format format; --- 347,352 ----- return result; } extern char *nprint(const char *fmt,...) { Format format; char *result; *************** *** 378,384 extern char *nprint(fmt, va_alist) const char *fmt; va_dcl { #else extern char *nprint(const char *fmt,...) { - #endif Format format; char *result; format.u.n = 0; --- 348,353 ----- } extern char *nprint(const char *fmt,...) { Format format; char *result; format.u.n = 0; *************** *** 382,390 Format format; char *result; format.u.n = 0; - #ifdef NEED_VARARGS - va_start(format.args); - #else va_start(format.args, fmt); #endif result = memprint(&format, fmt, nalloc(PRINT_ALLOCSIZE), PRINT_ALLOCSIZE); --- 351,356 ----- Format format; char *result; format.u.n = 0; va_start(format.args, fmt); result = memprint(&format, fmt, nalloc(PRINT_ALLOCSIZE), PRINT_ALLOCSIZE); va_end(format.args); *************** *** 386,392 va_start(format.args); #else va_start(format.args, fmt); - #endif result = memprint(&format, fmt, nalloc(PRINT_ALLOCSIZE), PRINT_ALLOCSIZE); va_end(format.args); return result; --- 352,357 ----- char *result; format.u.n = 0; va_start(format.args, fmt); result = memprint(&format, fmt, nalloc(PRINT_ALLOCSIZE), PRINT_ALLOCSIZE); va_end(format.args); return result; *** /tmp/,RCSt1008584 Mon Oct 4 21:59:07 1993 --- proto.h Mon Oct 4 21:58:16 1993 *************** *** 14,24 of the same macros. */ - #ifdef NEED_STRINGS - #define strchr index - #define strrchr rindex - #endif - #ifndef ALIGN_T typedef long ALIGN_T; #endif --- 14,19 ----- of the same macros. */ #ifndef ALIGN_T typedef long ALIGN_T; #endif *************** *** 81,86 /* fake errno.h for mips (which doesn't declare errno in errno.h!?!?) */ ! #ifdef NEED_ERRNO extern int errno; #endif --- 76,81 ----- /* fake errno.h for mips (which doesn't declare errno in errno.h!?!?) */ ! #ifdef host_mips extern int errno; #endif *** /tmp/,RCSt1008584 Mon Oct 4 21:59:09 1993 --- rc.h Mon Oct 4 21:58:17 1993 *************** *** 7,15 #undef FALSE #undef TRUE - #ifdef NEED_VARARGS - #include - #else #include #endif --- 7,12 ----- #undef FALSE #undef TRUE #include typedef void builtin_t(char **); *************** *** 11,17 #include #else #include - #endif typedef void builtin_t(char **); typedef struct Block Block; --- 8,13 ----- #undef TRUE #include typedef void builtin_t(char **); typedef struct Block Block; *************** *** 166,177 #define streq(x, y) (*(x) == *(y) && strcmp(x, y) == 0) #define conststrlen(x) (sizeof (x) - 1) - /* function typedefs are more tricky */ - - typedef void *allocf(SIZE_T); - typedef void (sighandler)(int); - typedef void sigfunc(int); - /* rc prototypes */ /* main.c */ --- 162,167 ----- #define streq(x, y) (*(x) == *(y) && strcmp(x, y) == 0) #define conststrlen(x) (sizeof (x) - 1) /* rc prototypes */ /* main.c */ *************** *** 316,324 */ extern bool (*fmtinstall(int, bool (*)(Format *, int)))(Format *, int); extern int printfmt(Format *, const char *); - #ifdef NEED_VARARGS - extern int fmtprint(); - #else extern int fmtprint(Format *, const char *,...); #endif extern void fmtappend(Format *, const char *, SIZE_T); --- 306,311 ----- */ extern bool (*fmtinstall(int, bool (*)(Format *, int)))(Format *, int); extern int printfmt(Format *, const char *); extern int fmtprint(Format *, const char *,...); extern void fmtappend(Format *, const char *, SIZE_T); extern void fmtcat(Format *, const char *); *************** *** 320,326 extern int fmtprint(); #else extern int fmtprint(Format *, const char *,...); - #endif extern void fmtappend(Format *, const char *, SIZE_T); extern void fmtcat(Format *, const char *); #ifdef NEED_VARARGS --- 307,312 ----- extern bool (*fmtinstall(int, bool (*)(Format *, int)))(Format *, int); extern int printfmt(Format *, const char *); extern int fmtprint(Format *, const char *,...); extern void fmtappend(Format *, const char *, SIZE_T); extern void fmtcat(Format *, const char *); extern int fprint(int fd, const char *fmt,...); *************** *** 323,333 #endif extern void fmtappend(Format *, const char *, SIZE_T); extern void fmtcat(Format *, const char *); - #ifdef NEED_VARARGS - extern int fprint(); - extern char *mprint(); - extern char *nprint(); - #else extern int fprint(int fd, const char *fmt,...); extern char *mprint(const char *fmt,...); extern char *nprint(const char *fmt,...); --- 309,314 ----- extern int fmtprint(Format *, const char *,...); extern void fmtappend(Format *, const char *, SIZE_T); extern void fmtcat(Format *, const char *); extern int fprint(int fd, const char *fmt,...); extern char *mprint(const char *fmt,...); extern char *nprint(const char *fmt,...); *************** *** 331,337 extern int fprint(int fd, const char *fmt,...); extern char *mprint(const char *fmt,...); extern char *nprint(const char *fmt,...); - #endif /* the following macro should by rights be coded as an expression, not a statement, but certain compilers (notably DEC) have trouble with --- 312,317 ----- extern int fprint(int fd, const char *fmt,...); extern char *mprint(const char *fmt,...); extern char *nprint(const char *fmt,...); /* the following macro should by rights be coded as an expression, not a statement, but certain compilers (notably DEC) have trouble with *************** *** 356,363 extern void catcher(int); extern void sigchk(void); extern void (*rc_signal(int, void (*)(int)))(int); ! /*extern void (*sighandlers[])(int);*/ ! extern sighandler *sighandlers[]; extern volatile SIG_ATOMIC_T slow, interrupt_happened; #define SIGCHK sigchk() --- 336,342 ----- extern void catcher(int); extern void sigchk(void); extern void (*rc_signal(int, void (*)(int)))(int); ! extern void (*sighandlers[])(int); extern volatile SIG_ATOMIC_T slow, interrupt_happened; #define SIGCHK sigchk() *************** *** 372,380 extern void ssetstatus(char **); /* tree.c */ - #ifdef NEED_VARARGS - extern Node *mk(); - #else extern Node *mk(int /*nodetype*/,...); #endif extern Node *treecpy(Node *, void *(*)(SIZE_T)); --- 351,356 ----- extern void ssetstatus(char **); /* tree.c */ extern Node *mk(int /*nodetype*/,...); extern Node *treecpy(Node *, void *(*)(SIZE_T)); extern void treefree(Node *); *************** *** 376,382 extern Node *mk(); #else extern Node *mk(int /*nodetype*/,...); - #endif extern Node *treecpy(Node *, void *(*)(SIZE_T)); extern void treefree(Node *); --- 352,357 ----- /* tree.c */ extern Node *mk(int /*nodetype*/,...); extern Node *treecpy(Node *, void *(*)(SIZE_T)); extern void treefree(Node *); *** /tmp/,RCSt1008584 Mon Oct 4 21:59:11 1993 --- signal.c Mon Oct 4 21:58:18 1993 *************** *** 50,57 (*h)(s); } ! /*extern void (*rc_signal(int s, void (*h)(int)))(int) {*/ ! extern sigfunc *rc_signal(int s, sigfunc *h) { void (*old)(int); SIGCHK; old = sighandlers[s]; --- 50,56 ----- (*h)(s); } ! extern void (*rc_signal(int s, void (*h)(int)))(int) { void (*old)(int); SIGCHK; old = sighandlers[s]; *** /tmp/,RCSt1008584 Mon Oct 4 21:59:12 1993 --- tree.c Mon Oct 4 21:58:19 1993 *************** *** 4,12 /* make a new node, pass it back to yyparse. Used to generate the parsetree. */ - #ifdef NEED_VARARGS - extern Node *mk(t, va_alist) int t; va_dcl { - #else extern Node *mk(int /*nodetype*/ t,...) { #endif va_list ap; --- 4,9 ----- /* make a new node, pass it back to yyparse. Used to generate the parsetree. */ extern Node *mk(int /*nodetype*/ t,...) { va_list ap; Node *n; *************** *** 8,14 extern Node *mk(t, va_alist) int t; va_dcl { #else extern Node *mk(int /*nodetype*/ t,...) { - #endif va_list ap; Node *n; #ifdef NEED_VARARGS --- 5,10 ----- /* make a new node, pass it back to yyparse. Used to generate the parsetree. */ extern Node *mk(int /*nodetype*/ t,...) { va_list ap; Node *n; va_start(ap, t); *************** *** 11,19 #endif va_list ap; Node *n; - #ifdef NEED_VARARGS - va_start(ap); - #else va_start(ap, t); #endif switch (t) { --- 7,12 ----- extern Node *mk(int /*nodetype*/ t,...) { va_list ap; Node *n; va_start(ap, t); switch (t) { default: *************** *** 15,21 va_start(ap); #else va_start(ap, t); - #endif switch (t) { default: panic("unexpected node in mk"); --- 8,13 ----- va_list ap; Node *n; va_start(ap, t); switch (t) { default: panic("unexpected node in mk"); *************** *** 73,80 /* copy a tree to malloc space. Used when storing the definition of a function */ ! /*extern Node *treecpy(Node *s, void *(*alloc)(SIZE_T)) {*/ ! extern Node *treecpy(Node *s, allocf *alloc) { Node *n; if (s == NULL) return NULL; --- 65,71 ----- /* copy a tree to malloc space. Used when storing the definition of a function */ ! extern Node *treecpy(Node *s, void *(*alloc)(SIZE_T)) { Node *n; if (s == NULL) return NULL; *** /tmp/,RCSt1008584 Mon Oct 4 21:59:13 1993 --- trip.rc Mon Oct 4 21:58:30 1993 *************** *** 81,88 if (!~ `` '' {cat 2} foo) fail dup put wrong contents in file : `` '' {cat 2} rm -f 1 2 ! # cat doesn't seem to mind this on a Pyramid ! expect error from cat, closing stdin '('no error reported on Pyramid')' cat >[0=] submatch 'cat>(1 2 3)' 'multi-word filename in redirection' 'redirection error' --- 81,87 ----- if (!~ `` '' {cat 2} foo) fail dup put wrong contents in file : `` '' {cat 2} rm -f 1 2 ! expect error from cat, closing stdin cat >[0=] submatch 'cat>(1 2 3)' 'multi-word filename in redirection' 'redirection error' *************** *** 281,291 expect list of variables and functions whatis - - # during port to Pyramid (or was it Convex?), all elements seemed to - # be missing their first character - expect list of files in this directory - echo * submatch 'whatis -f' 'whatis: bad option: -f' 'bad option to whatis' --- 280,285 ----- expect list of variables and functions whatis submatch 'whatis -f' 'whatis: bad option: -f' 'bad option to whatis' *** /tmp/,RCSt1008584 Mon Oct 4 21:59:15 1993 --- walk.c Mon Oct 4 21:58:21 1993 *************** *** 44,52 if ((pid = rc_fork()) == 0) { #if !defined(NOJOB) && defined(SIGTTOU) && defined(SIGTTIN) && defined(SIGTSTP) setsigdefaults(FALSE); ! rc_signal(SIGTTOU, (sighandler*)SIG_IGN); /* Berkeleyized version: put it in a new pgroup. */ ! rc_signal(SIGTTIN, (sighandler*)SIG_IGN); ! rc_signal(SIGTSTP, (sighandler*)SIG_IGN); setpgrp(0, getpid()); #else setsigdefaults(TRUE); /* ignore SIGINT, SIGQUIT, SIGTERM */ --- 44,52 ----- if ((pid = rc_fork()) == 0) { #if !defined(NOJOB) && defined(SIGTTOU) && defined(SIGTTIN) && defined(SIGTSTP) setsigdefaults(FALSE); ! rc_signal(SIGTTOU, SIG_IGN); /* Berkeleyized version: put it in a new pgroup. */ ! rc_signal(SIGTTIN, SIG_IGN); ! rc_signal(SIGTSTP, SIG_IGN); setpgrp(0, getpid()); #else setsigdefaults(TRUE); /* ignore SIGINT, SIGQUIT, SIGTERM */