Checkpoint.
diff --git a/src/cmd/grap/find b/src/cmd/grap/find index 1c2e905..eccbfbd 100644 --- a/src/cmd/grap/find +++ b/src/cmd/grap/find
@@ -1 +1 @@ -exec /usr/bin/egrep -n "$1" *.[chyl] +grep $1 *.[ch]
diff --git a/src/cmd/grap/frame.c b/src/cmd/grap/frame.c index a00a9d8..6126087 100644 --- a/src/cmd/grap/frame.c +++ b/src/cmd/grap/frame.c
@@ -53,6 +53,8 @@ int n; char buf[100]; + n = 0; /* gcc */ + nsides++; switch (type) { case 0: /* no side specified; kludge up all */
diff --git a/src/cmd/grap/grap.h b/src/cmd/grap/grap.h index 65c7f83..da76108 100644 --- a/src/cmd/grap/grap.h +++ b/src/cmd/grap/grap.h
@@ -110,7 +110,7 @@ extern int lineno; extern int synerr; extern int codegen; -extern char tempfile[]; +extern char *tempfile; extern FILE *tfd; extern Point ptmin, ptmax;
diff --git a/src/cmd/grap/input.c b/src/cmd/grap/input.c index f558145..0c25bba 100644 --- a/src/cmd/grap/input.c +++ b/src/cmd/grap/input.c
@@ -135,6 +135,7 @@ return tostring(buf); } +int baldelim(int c, char *s) /* replace c by balancing entry in s */ { for ( ; *s; s += 2) @@ -175,6 +176,7 @@ pushsrc(Macro, stp->val); } +int getarg(char *p) /* pick up single argument, store in p, return length */ { int n, c, npar; @@ -215,6 +217,7 @@ extern Obj *thrudef; extern char *untilstr; +int input(void) { register int c; @@ -230,10 +233,13 @@ return *ep++ = c; } +int nextchar(void) { register int c; + c = 0; /* gcc */ + loop: switch (srcp->type) { case Free: /* free string */ @@ -384,6 +390,7 @@ pushsrc(Macro, thrudef->val); } +int unput(int c) { if (++pb >= pbuf + sizeof pbuf) @@ -533,7 +540,7 @@ FILE *fin; if (newfile) { - if ((fin = fopen(unsharp(newfile), "r")) == NULL) + if ((fin = fopen(newfile, "r")) == NULL) ERROR "can't open file %s", newfile FATAL; curfile++; curfile->fin = fin;
diff --git a/src/cmd/grap/main.c b/src/cmd/grap/main.c index 0aa6741..4179756 100644 --- a/src/cmd/grap/main.c +++ b/src/cmd/grap/main.c
@@ -2,20 +2,20 @@ #include <signal.h> #include <math.h> #include <stdlib.h> +#include <unistd.h> #include <string.h> #include "grap.h" #include "y.tab.h" +extern char *unsharp(char*); + int dbg = 0; -#ifndef GRAPDEFINES -#define GRAPDEFINES "#9/sys/lib/grap.defines" -#endif -char *lib_defines = GRAPDEFINES; +char *lib_defines; int lib = 1; /* 1 to include lib_defines */ FILE *tfd = NULL; -char tempfile[L_tmpnam]; +char *tempfile; int synerr = 0; int codegen = 0; /* 1=>output for this picture; 0=>no output */ @@ -32,17 +32,22 @@ extern int yyparse(void); extern void setdefaults(void); extern void getdata(void); -extern int unlink(char *); +/* extern int unlink(char *); */ /* in unistd.h */ + +int main(int argc, char *argv[]) { extern void onintr(int), fpecatch(int); + lib_defines = unsharp("#9/lib/grap.defines"); + if (signal(SIGINT, SIG_IGN) != SIG_IGN) signal(SIGINT, onintr); signal(SIGFPE, fpecatch); cmdname = argv[0]; - tmpnam(tempfile); + tempfile = strdup("grap.XXXXXX"); + mkstemp(tempfile); while (argc > 1 && *argv[1] == '-') { switch (argv[1][1]) { case 'd': @@ -85,7 +90,7 @@ void onintr(int n) { - n; + //n; if (!dbg) unlink(tempfile); exit(1); @@ -114,11 +119,11 @@ char *name; double val; } defaults[] ={ - "frameht", FRAMEHT, - "framewid", FRAMEWID, - "ticklen", TICKLEN, - "slop", SLOP, - NULL, 0 + { "frameht", FRAMEHT }, + { "framewid", FRAMEWID }, + { "ticklen", TICKLEN }, + { "slop", SLOP }, + { NULL, 0 } }; void setdefaults(void) /* set default sizes for variables */
diff --git a/src/cmd/grap/print.c b/src/cmd/grap/print.c index 8f553c8..9364d11 100644 --- a/src/cmd/grap/print.c +++ b/src/cmd/grap/print.c
@@ -184,7 +184,7 @@ sprintf(buf, "define pid /%d/\n", getpid()); pbstr(buf); if (lib != 0) { - if ((fp = fopen(unsharp(lib_defines), "r")) != NULL) { + if ((fp = fopen(lib_defines, "r")) != NULL) { sprintf(buf1, "copy \"%s\"\n", lib_defines); pbstr(buf1); fclose(fp); @@ -226,8 +226,8 @@ if (tfd != NULL) fclose(tfd); if (tfd != stdout) { -// if (tfd != NULL) -// fclose(tfd); + if (tfd != NULL) + fclose(tfd); if ((tfd = fopen(tempfile, "w")) == NULL) { fprintf(stderr, "grap: can't open %s\n", tempfile); exit(1);
diff --git a/src/cmd/grap/ticks.c b/src/cmd/grap/ticks.c index 72fc06f..72c81b2 100644 --- a/src/cmd/grap/ticks.c +++ b/src/cmd/grap/ticks.c
@@ -481,6 +481,7 @@ return p; } +int sidelog(int logflag, int side) /* figure out whether to scale a side */ { if ((logflag & XFLAG) && ((side & (BOT|TOP)) || side == 0))