xref: /csrg-svn/usr.bin/plot/debug.c (revision 48286)
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