bin/chmod
bin/cmp
bin/cp
+bin/csh/csh
bin/date
bin/dd
bin/df
+bin/diff/diff
+bin/diff/diffh
bin/du
bin/echo
bin/ed
bin/mail
bin/mkdir
bin/mt
+bin/mv
bin/nice
bin/nm
bin/od
lib/libc/net/netlib_p
lib/libc/ns/nslib
lib/libc/ns/nslib_p
-lib/libc/oldprotos.txt
lib/libc/oldprotos.temp
+lib/libc/oldprotos.txt
lib/libc/stdio/stdiolib
lib/libc/stdio/stdiolib_p
lib/libc/sys/syslib
lib/libc/sys/syslib_p
lib/libc/xx*
+scripts/newline
+scripts/nocomment
+scripts/nostring
test/hello
test/hello.txt
xify/cc
xify/ld
xify/xify
-scripts/newline
-scripts/nocomment
-scripts/nostring
CFLAGS=-O -w
sed: sed0.o sed1.o
- cc -o sed *.o
+ ${CC} -o sed *.o
sed0.o: sed0.c sed.h
sed1.o: sed1.c sed.h
--- /dev/null
+sed.h sys/ttychars.h
+sed0.c sys/ttychars.h
+sed1.c sys/ttychars.h
--- /dev/null
+sed0.c sed.h
+sed1.c sed.h
#define LABSIZE 50
#define NBRA 9
-FILE *fin;
-union reptr *abuf[ABUFSIZE];
-union reptr **aptr;
-char *lastre;
-char ibuf[BUFSIZ];
-char *cbp;
-char *ebp;
-char genbuf[LBSIZE];
-char *loc1;
-char *loc2;
-char *locs;
-char seof;
-char *reend;
-char *lbend;
-char *hend;
-char *lcomend;
-union reptr *ptrend;
-int eflag;
-int dolflag;
-int sflag;
-int jflag;
-int numbra;
-int delflag;
-long lnum;
-char linebuf[LBSIZE+1];
-char holdsp[LBSIZE+1];
-char *spend;
-char *hspend;
-int nflag;
-int gflag;
-char *braelist[NBRA];
-char *braslist[NBRA];
-long tlno[NLINES];
-int nlno;
-char fname[12][40];
-FILE *fcode[12];
-int nfiles;
+extern FILE *fin;
+extern struct re *abuf[ABUFSIZE];
+extern struct re **aptr;
+extern char *lastre;
+extern char ibuf[BUFSIZ];
+extern char *cbp;
+extern char *ebp;
+extern char genbuf[LBSIZE];
+extern char *loc1;
+extern char *loc2;
+extern char *locs;
+extern char seof;
+extern char *reend;
+extern char *lbend;
+extern char *hend;
+extern char *lcomend;
+extern struct re *ptrend;
+extern int eflag;
+extern int dolflag;
+extern int sflag;
+extern int jflag;
+extern int numbra;
+extern int delflag;
+extern long lnum;
+extern char linebuf[LBSIZE+1];
+extern char holdsp[LBSIZE+1];
+extern char *spend;
+extern char *hspend;
+extern int nflag;
+extern int gflag;
+extern char *braelist[NBRA];
+extern char *braslist[NBRA];
+extern long tlno[NLINES];
+extern int nlno;
+extern char fname[12][40];
+extern FILE *fcode[12];
+extern int nfiles;
#define ACOM 01
#define BCOM 020
#define YCOM 026
#define XCOM 033
-char *cp;
-char *reend;
-char *lbend;
-
-union reptr {
- struct reptr1 {
- char *ad1;
- char *ad2;
- char *re1;
- char *rhs;
- FILE *fcode;
- char command;
- char gfl;
- char pfl;
- char inar;
- char negfl;
- } A;
- struct reptr2 {
- char *ad1;
- char *ad2;
- union reptr *lb1;
- char *rhs;
- FILE *fcode;
- char command;
- char gfl;
- char pfl;
- char inar;
- char negfl;
- } B;
+extern char *cp;
+extern char *reend;
+extern char *lbend;
+
+extern struct re {
+ char *ad1;
+ char *ad2;
+ union {
+ char *reptr_re1;
+ struct re *reptr_lb1;
+ } reptr;
+#define re1 reptr.reptr_re1
+#define lb1 reptr.reptr_lb1
+ char *rhs;
+ FILE *fcode;
+ char command;
+ char gfl;
+ char pfl;
+ char inar;
+ char negfl;
} ptrspace[PTRSIZE], *rep;
-char respace[RESIZE];
+extern char respace[RESIZE];
-struct label {
+extern struct label {
char asc[9];
- union reptr *chain;
- union reptr *address;
+ struct re *chain;
+ struct re *address;
} ltab[LABSIZE];
-struct label *lab;
-struct label *labend;
+extern struct label *lab;
+extern struct label *labend;
-int f;
-int depth;
+extern int f;
+extern int depth;
-int eargc;
-char **eargv;
+extern int eargc;
+extern char **eargv;
extern char bittab[];
-union reptr **cmpend[DEPTH];
-int depth;
-union reptr *pending;
-char *badp;
-char bad;
+extern struct re **cmpend[DEPTH];
+extern int depth;
+extern struct re *pending;
+extern char *badp;
+extern char bad;
char *compile();
char *ycomp();
char *address();
struct label *search();
char *gline();
char *place();
-char compfl;
+extern char compfl;
#include <stdio.h>
#include "sed.h"
+/* moved here from sed.h, which now just declares them extern */
+FILE *fin;
+struct re *abuf[ABUFSIZE];
+struct re **aptr;
+char *lastre;
+char ibuf[BUFSIZ];
+char *cbp;
+char *ebp;
+char genbuf[LBSIZE];
+char *loc1;
+char *loc2;
+char *locs;
+char seof;
+char *reend;
+char *lbend;
+char *hend;
+char *lcomend;
+struct re *ptrend;
+int eflag;
+int dolflag;
+int sflag;
+int jflag;
+int numbra;
+int delflag;
+long lnum;
+char linebuf[LBSIZE+1];
+char holdsp[LBSIZE+1];
+char *spend;
+char *hspend;
+int nflag;
+int gflag;
+char *braelist[NBRA];
+char *braslist[NBRA];
+long tlno[NLINES];
+int nlno;
+char fname[12][40];
+FILE *fcode[12];
+int nfiles;
+
+char *cp;
+char *reend;
+char *lbend;
+
+struct re ptrspace[PTRSIZE], *rep;
+
+char respace[RESIZE];
+
+struct label ltab[LABSIZE];
+
+struct label *lab;
+struct label *labend;
+
+int f;
+int depth;
+
+int eargc;
+char **eargv;
+
+struct re **cmpend[DEPTH];
+int depth;
+struct re *pending;
+char *badp;
+char bad;
+char compfl;
+
struct label *labtab = ltab;
char CGMES[] = "command garbled: %s\n";
char TMMES[] = "Too much text: %s\n";
register char *p, *op, *tp;
char *address();
- union reptr *pt, *pt1;
+ struct re *pt, *pt1;
int i;
struct label *lpt;
dechain()
{
struct label *lptr;
- union reptr *rptr, *trptr;
+ struct re *rptr, *trptr;
for(lptr = labtab; lptr < lab; lptr++) {
char *file;
{
register char *p1, *p2;
- register union reptr *ipc;
+ register struct re *ipc;
int c;
char *execp;
}
}
substitute(ipc)
-union reptr *ipc;
+struct re *ipc;
{
if(match(ipc->re1, 0) == 0) return(0);
}
command(ipc)
-union reptr *ipc;
+struct re *ipc;
{
register int i;
register char *p1, *p2, *p3;
mkdir -p lib/libc/stdio/profiled
mkdir -p lib/libc/sys/profiled
(cd lib/libc && make.sh clean && make.sh && make.sh install)
-(cd bin && make.sh clean && make.sh SUBDIR=as NSTD= KMEM= && make.sh SUBDIR=as NSTD= KMEM= install)
+(cd bin && make.sh clean && make.sh SUBDIR="as csh diff" NSTD= KMEM= && make.sh SUBDIR="as csh diff" NSTD= KMEM= install)
#(cd test && make clean && make)