# 2.11BSD#431 - /usr/src/usr.bin/plot/driver.c

##### Functions

    fplt              X
    getsi             X
    getstr            X
    main              X

##### Variables

    PlotRes           X
    deltx             X
    delty             X

       1: #ifndef lint
       2: static char sccsid[] = "@(#)driver.c	4.4 (Berkeley) 9/21/85";
       3: #endif
       4:
       5: #include <stdio.h>
       6:
       7: float deltx;
       8: float delty;
       9: int PlotRes;
      10:
      11: main(argc,argv)
      12:     int argc;
      13:     char *argv[];
      14: {
      15:     int std = 1;
      16:     char *progname;
      17:     FILE *fin;
      18:
      19:     progname = argv[0];
      20:     for (argc--, argv++; argc > 0; argc--, argv++) {
      21:         if (argv[0][0] == '-') {
      22:             switch (argv[0][1]) {
      23:             case 'l':
      24:                 deltx = atoi(&argv[0][2]) - 1;
      25:                 break;
      26:             case 'w':
      27:                 delty = atoi(&argv[0][2]) - 1;
      28:                 break;
      29:             case 'r':
      30:                 PlotRes = atoi(&argv[0][2]);
      31:                 break;
      32:             }
      33:             continue;
      34:         }
      35:         std = 0;
      36:         fin = fopen(argv[0], "r");
      37:         if (fin == NULL) {
      38:             fprintf(stderr, "%s: can't open %s\n", progname,
      39:                 argv[0]);
      40:             exit(1);
      41:         }
      42:         fplt(fin);
      43:         fclose(fin);
      44:     }
      45:     if (std)
      46:         fplt(stdin);
      47:     exit(0);
      48: }
      49:
      50: fplt(fin)
      51:     FILE *fin;
      52: {
      53:     register int c;
      54:     char s[256];
      55:     int xi,yi,x0,y0,x1,y1,r,dx,n,i;
      56:     int pat[256];
      57:
      58:     openpl();
      59:     while((c = getc(fin)) != EOF) {
      60:         switch(c) {
      61:         case 'm':
      62:             xi = getsi(fin);
      63:             yi = getsi(fin);
      64:             move(xi,yi);
      65:             break;
      66:         case 'l':
      67:             x0 = getsi(fin);
      68:             y0 = getsi(fin);
      69:             x1 = getsi(fin);
      70:             y1 = getsi(fin);
      71:             line(x0,y0,x1,y1);
      72:             break;
      73:         case 't':
      74:             getstr(s,fin);
      75:             label(s);
      76:             break;
      77:         case 'e':
      78:             erase();
      79:             break;
      80:         case 'p':
      81:             xi = getsi(fin);
      82:             yi = getsi(fin);
      83:             point(xi,yi);
      84:             break;
      85:         case 'n':
      86:             xi = getsi(fin);
      87:             yi = getsi(fin);
      88:             cont(xi,yi);
      89:             break;
      90:         case 's':
      91:             x0 = getsi(fin);
      92:             y0 = getsi(fin);
      93:             x1 = getsi(fin);
      94:             y1 = getsi(fin);
      95:             space(x0,y0,x1,y1);
      96:             break;
      97:         case 'a':
      98:             xi = getsi(fin);
      99:             yi = getsi(fin);
     100:             x0 = getsi(fin);
     101:             y0 = getsi(fin);
     102:             x1 = getsi(fin);
     103:             y1 = getsi(fin);
     104:             arc(xi,yi,x0,y0,x1,y1);
     105:             break;
     106:         case 'c':
     107:             xi = getsi(fin);
     108:             yi = getsi(fin);
     109:             r = getsi(fin);
     110:             circle(xi,yi,r);
     111:             break;
     112:         case 'f':
     113:             getstr(s,fin);
     114:             linemod(s);
     115:             break;
     116:         case 'd':
     117:             xi = getsi(fin);
     118:             yi = getsi(fin);
     119:             dx = getsi(fin);
     120:             n = getsi(fin);
     121:             for(i=0; i<n; i++)
     122:                 pat[i] = getsi(fin);
     123:             dot(xi,yi,dx,n,pat);
     124:             break;
     125:         }
     126:     }
     127:     closepl();
     128: }
     129:
     130: /* get an integer stored in 2 ascii bytes. */
     131: getsi(fin)
     132:     register FILE *fin;
     133: {
     134:     short a, b;
     135:
     136:     if((b = getc(fin)) == EOF)
     137:         return(EOF);
     138:     if((a = getc(fin)) == EOF)
     139:         return(EOF);
     140:     a = a<<8;
     141:     return(a|b);
     142: }
     143:
     144: getstr(s, fin)
     145:     register char *s;
     146:     register FILE *fin;
     147: {
     148:
     149:     for( ; *s = getc(fin); s++)
     150:         if(*s == '\n')
     151:             break;
     152:     *s = '\0';
     153: }

#### Defined functions

fplt defined in line 50; used 2 times

- in line 42-46(2)

getsi defined in line 131; used 28 times

- in line 62-70(6), 81-109(17), 117-122(5)

getstr defined in line 144; used 2 times

- in line 74, 113

main defined in line 11; never used

#### Defined variables

PlotRes defined in line 9; used 1 times

- in line 30

deltx defined in line 7; used 1 times

- in line 24

delty defined in line 8; used 1 times

- in line 27

sccsid defined in line 2; never used

Last modified: 1987-02-17 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 619 |