void
cvobject(		/* convert an object */
	char	*fname,
	FILE	*fin
)
{
	extern char	*fgetword();
	char	buf[128], typ[16], nam[128];
	int	i, n;
	register int	j;

	if (fgetword(buf, sizeof(buf), fin) == NULL ||
			fgetword(typ, sizeof(typ), fin) == NULL ||
			fgetword(nam, sizeof(nam), fin) == NULL)
		goto readerr;
	if (!strcmp(typ, "polygon"))
		for (j = 0; j < nmarkers; j++)
			if (!strcmp(buf, marker[j].modin)) {
				replace(fname, &marker[j], nam, fin);
				return;
			}
	putchar('\n'); fputword(buf, stdout);
	printf(" %s ", typ);
	fputword(nam, stdout); putchar('\n');
	if (!strcmp(typ, "alias")) {		/* alias special case */
		if (fgetword(buf, sizeof(buf), fin) == NULL)
			goto readerr;
		putchar('\t'); fputword(buf, stdout); putchar('\n');
		return;
	}
	for (i = 0; i < 3; i++) {		/* pass along arguments */
		if (fscanf(fin, "%d", &n) != 1)
			goto readerr;
		printf("%d", n);
		for (j = 0; j < n; j++) {
			if (fgetword(buf, sizeof(buf), fin) == NULL)
				goto readerr;
			if (j%3 == 0)
				putchar('\n');
			putchar('\t');
			fputword(buf, stdout);
		}
		putchar('\n');
	}
	return;
readerr:
	fprintf(stderr, "%s: (%s): read error for %s \"%s\"\n",
			progname, fname, typ, nam);
}
Exemple #2
0
extern void
printargs(		/* print arguments to a file */
	int  ac,
	char  **av,
	FILE  *fp
)
{
	while (ac-- > 0) {
		fputword(*av++, fp);
		fputc(ac ? ' ' : '\n', fp);
	}
}