BSD 4_3 release
[unix-history] / usr / src / usr.bin / plot / driver.c
index c4aaf7f..4b0c588 100644 (file)
@@ -1,52 +1,63 @@
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)driver.c   4.1 (Berkeley) 8/11/83";
+static char sccsid[] = "@(#)driver.c   4.4 (Berkeley) 9/21/85";
 #endif
 
 #include <stdio.h>
 
 float deltx;
 float delty;
 #endif
 
 #include <stdio.h>
 
 float deltx;
 float delty;
+int PlotRes;
 
 
-main(argc,argv)  char **argv; {
-       int std=1;
+main(argc,argv)
+       int argc;
+       char *argv[];
+{
+       int std = 1;
+       char *progname;
        FILE *fin;
 
        FILE *fin;
 
-       while(argc-- > 1) {
-               if(*argv[1] == '-')
-                       switch(argv[1][1]) {
-                               case 'l':
-                                       deltx = atoi(&argv[1][2]) - 1;
-                                       break;
-                               case 'w':
-                                       delty = atoi(&argv[1][2]) - 1;
-                                       break;
-                               }
-
-               else {
-                       std = 0;
-                       if ((fin = fopen(argv[1], "r")) == NULL) {
-                               fprintf(stderr, "can't open %s\n", argv[1]);
-                               exit(1);
-                               }
-                       fplt(fin);
+       progname = argv[0];
+       for (argc--, argv++; argc > 0; argc--, argv++) {
+               if (argv[0][0] == '-') {
+                       switch (argv[0][1]) {
+                       case 'l':
+                               deltx = atoi(&argv[0][2]) - 1;
+                               break;
+                       case 'w':
+                               delty = atoi(&argv[0][2]) - 1;
+                               break;
+                       case 'r':
+                               PlotRes = atoi(&argv[0][2]);
+                               break;
                        }
                        }
-               argv++;
+                       continue;
+               }
+               std = 0;
+               fin = fopen(argv[0], "r");
+               if (fin == NULL) {
+                       fprintf(stderr, "%s: can't open %s\n", progname,
+                           argv[0]);
+                       exit(1);
                }
                }
+               fplt(fin);
+               fclose(fin);
+       }
        if (std)
        if (std)
-               fplt( stdin );
+               fplt(stdin);
        exit(0);
        exit(0);
-       }
-
+}
 
 
-fplt(fin)  FILE *fin; {
-       int c;
+fplt(fin)
+       FILE *fin;
+{
+       register int c;
        char s[256];
        int xi,yi,x0,y0,x1,y1,r,dx,n,i;
        int pat[256];
 
        openpl();
        char s[256];
        int xi,yi,x0,y0,x1,y1,r,dx,n,i;
        int pat[256];
 
        openpl();
-       while((c=getc(fin)) != EOF){
-               switch(c){
+       while((c = getc(fin)) != EOF) {
+               switch(c) {
                case 'm':
                        xi = getsi(fin);
                        yi = getsi(fin);
                case 'm':
                        xi = getsi(fin);
                        yi = getsi(fin);
@@ -60,7 +71,7 @@ fplt(fin)  FILE *fin; {
                        line(x0,y0,x1,y1);
                        break;
                case 't':
                        line(x0,y0,x1,y1);
                        break;
                case 't':
-                       gets(s,fin);
+                       getstr(s,fin);
                        label(s);
                        break;
                case 'e':
                        label(s);
                        break;
                case 'e':
@@ -99,7 +110,7 @@ fplt(fin)  FILE *fin; {
                        circle(xi,yi,r);
                        break;
                case 'f':
                        circle(xi,yi,r);
                        break;
                case 'f':
-                       gets(s,fin);
+                       getstr(s,fin);
                        linemod(s);
                        break;
                case 'd':
                        linemod(s);
                        break;
                case 'd':
@@ -107,15 +118,21 @@ fplt(fin)  FILE *fin; {
                        yi = getsi(fin);
                        dx = getsi(fin);
                        n = getsi(fin);
                        yi = getsi(fin);
                        dx = getsi(fin);
                        n = getsi(fin);
-                       for(i=0; i<n; i++)pat[i] = getsi(fin);
+                       for(i=0; i<n; i++)
+                               pat[i] = getsi(fin);
                        dot(xi,yi,dx,n,pat);
                        break;
                        dot(xi,yi,dx,n,pat);
                        break;
-                       }
                }
                }
-       closepl();
        }
        }
-getsi(fin)  FILE *fin; {       /* get an integer stored in 2 ascii bytes. */
+       closepl();
+}
+
+/* get an integer stored in 2 ascii bytes. */
+getsi(fin)
+       register FILE *fin;
+{
        short a, b;
        short a, b;
+
        if((b = getc(fin)) == EOF)
                return(EOF);
        if((a = getc(fin)) == EOF)
        if((b = getc(fin)) == EOF)
                return(EOF);
        if((a = getc(fin)) == EOF)
@@ -123,10 +140,14 @@ getsi(fin)  FILE *fin; {  /* get an integer stored in 2 ascii bytes. */
        a = a<<8;
        return(a|b);
 }
        a = a<<8;
        return(a|b);
 }
-gets(s,fin)  char *s;  FILE *fin; {
+
+getstr(s, fin)
+       register char *s;
+       register FILE *fin;
+{
+
        for( ; *s = getc(fin); s++)
                if(*s == '\n')
                        break;
        *s = '\0';
        for( ; *s = getc(fin); s++)
                if(*s == '\n')
                        break;
        *s = '\0';
-       return;
 }
 }