1*48286Sbostic /*-
2*48286Sbostic * %sccs.include.proprietary.c%
3*48286Sbostic */
4*48286Sbostic
515507Sralph #ifndef lint
6*48286Sbostic static char sccsid[] = "@(#)debug.c 4.3 (Berkeley) 04/18/91";
7*48286Sbostic #endif /* not lint */
815507Sralph
915507Sralph #include <stdio.h>
1015507Sralph
1115507Sralph float deltx;
1215507Sralph float delty;
1315507Sralph
main(argc,argv)1415507Sralph main(argc,argv) char **argv; {
1515507Sralph int std=1;
1615507Sralph FILE *fin;
1715507Sralph
1815507Sralph while(argc-- > 1) {
1915507Sralph if(*argv[1] == '-')
2015507Sralph switch(argv[1][1]) {
2115507Sralph case 'l':
2215507Sralph deltx = atoi(&argv[1][2]) - 1;
2315507Sralph break;
2415507Sralph case 'w':
2515507Sralph delty = atoi(&argv[1][2]) - 1;
2615507Sralph break;
2715507Sralph }
2815507Sralph
2915507Sralph else {
3015507Sralph std = 0;
3115507Sralph if ((fin = fopen(argv[1], "r")) == NULL) {
3215507Sralph fprintf(stderr, "can't open %s\n", argv[1]);
3315507Sralph exit(1);
3415507Sralph }
3515507Sralph fplt(fin);
3615507Sralph }
3715507Sralph argv++;
3815507Sralph }
3915507Sralph if (std)
4015507Sralph fplt( stdin );
4115507Sralph exit(0);
4215507Sralph }
4315507Sralph
4415507Sralph
fplt(fin)4515507Sralph fplt(fin) FILE *fin; {
4615507Sralph int c;
4715507Sralph char s[256];
4815507Sralph int xi,yi,x0,y0,x1,y1,r/*,dx,n,i*/;
4915507Sralph
5015507Sralph printf("openpl\n");
5115507Sralph while((c=getc(fin)) != EOF){
5215507Sralph switch(c){
5315507Sralph case 'm':
5415507Sralph xi = getsi(fin);
5515507Sralph yi = getsi(fin);
5615507Sralph printf("move %d %d\n", xi, yi);
5715507Sralph break;
5815507Sralph case 'l':
5915507Sralph x0 = getsi(fin);
6015507Sralph y0 = getsi(fin);
6115507Sralph x1 = getsi(fin);
6215507Sralph y1 = getsi(fin);
6315507Sralph printf("line %d %d %d %d\n", x0, y0, x1, y1);
6415507Sralph break;
6515507Sralph case 't':
6617674Sralph getstr(s,fin);
6715507Sralph printf("label %s\n", s);
6815507Sralph break;
6915507Sralph case 'e':
7015507Sralph printf("erase\n");
7115507Sralph break;
7215507Sralph case 'p':
7315507Sralph xi = getsi(fin);
7415507Sralph yi = getsi(fin);
7515507Sralph printf("point %d %d\n", xi, yi);
7615507Sralph break;
7715507Sralph case 'n':
7815507Sralph xi = getsi(fin);
7915507Sralph yi = getsi(fin);
8015507Sralph printf("continue %d %d\n", xi, yi);
8115507Sralph break;
8215507Sralph case 's':
8315507Sralph x0 = getsi(fin);
8415507Sralph y0 = getsi(fin);
8515507Sralph x1 = getsi(fin);
8615507Sralph y1 = getsi(fin);
8715507Sralph printf("space %d %d %d %d\n", x0, y0, x1, y1);
8815507Sralph break;
8915507Sralph case 'a':
9015507Sralph xi = getsi(fin);
9115507Sralph yi = getsi(fin);
9215507Sralph x0 = getsi(fin);
9315507Sralph y0 = getsi(fin);
9415507Sralph x1 = getsi(fin);
9515507Sralph y1 = getsi(fin);
9615507Sralph printf("arc\n");
9715507Sralph break;
9815507Sralph case 'c':
9915507Sralph xi = getsi(fin);
10015507Sralph yi = getsi(fin);
10115507Sralph r = getsi(fin);
10215507Sralph printf("circle\n");
10315507Sralph break;
10415507Sralph case 'f':
10517674Sralph getstr(s,fin);
10615507Sralph printf("linemod %s\n", s);
10715507Sralph break;
10815507Sralph default:
10915507Sralph fprintf(stderr, "Unknown command %c (%o)\n", c, c);
11015507Sralph break;
11115507Sralph }
11215507Sralph }
11315507Sralph printf("closepl\n");
11415507Sralph }
getsi(fin)11515507Sralph getsi(fin) FILE *fin; { /* get an integer stored in 2 ascii bytes. */
11615507Sralph short a, b;
11715507Sralph if((b = getc(fin)) == EOF)
11815507Sralph return(EOF);
11915507Sralph if((a = getc(fin)) == EOF)
12015507Sralph return(EOF);
12115507Sralph a = a<<8;
12215507Sralph return(a|b);
12315507Sralph }
getstr(s,fin)12417674Sralph getstr(s,fin) char *s; FILE *fin; {
12515507Sralph for( ; *s = getc(fin); s++)
12615507Sralph if(*s == '\n')
12715507Sralph break;
12815507Sralph *s = '\0';
12915507Sralph }
130