--- ray/src/rt/text.c 1998/08/10 18:37:06 2.18 +++ ray/src/rt/text.c 2004/02/12 18:55:50 2.24 @@ -1,15 +1,16 @@ -/* Copyright (c) 1998 Silicon Graphics, Inc. */ - #ifndef lint -static char SCCSid[] = "$SunId$ SGI"; +static const char RCSid[] = "$Id: text.c,v 2.24 2004/02/12 18:55:50 greg Exp $"; #endif - /* * text.c - functions for text patterns and mixtures. */ +#include "copyright.h" + #include "ray.h" +#include "paths.h" + #include "otypes.h" #include "font.h" @@ -77,10 +78,6 @@ typedef struct { TLINE tl; /* line list */ } TEXT; -extern char *getlibpath(); - -extern char *fgetword(); - TEXT *gettext(); TLINE *tlalloc(); @@ -139,7 +136,6 @@ TLINE * tlalloc(s) /* allocate and assign text line */ char *s; { - extern char *strcpy(); register int siz; register TLINE *tl; @@ -159,7 +155,6 @@ register OBJREC *tm; { #define R (tm->oargs.farg+3) #define D (tm->oargs.farg+6) - extern char *strcpy(); FVECT DxR; double d; FILE *fp; @@ -180,7 +175,7 @@ register OBJREC *tm; fcross(DxR, D, R); fcross(t->right, DxR, D); d = DOT(t->right,t->right); - if (d <= FTINY*FTINY) + if (d <= FTINY*FTINY*FTINY*FTINY) objerror(tm, USER, "illegal motion vector"); d = DOT(D,D)/d; for (i = 0; i < 3; i++) @@ -203,7 +198,7 @@ register OBJREC *tm; tlp = tlp->next; } else { /* text file */ if ((s = getpath(tm->oargs.sarg[tndx(tm)], - getlibpath(), R_OK)) == NULL) { + getrlibpath(), R_OK)) == NULL) { sprintf(errmsg, "cannot find text file \"%s\"", tm->oargs.sarg[tndx(tm)]); error(USER, errmsg); @@ -258,10 +253,11 @@ OBJREC *m; return; while ((tlp = tp->tl.next) != NULL) { tp->tl.next = tlp->next; - free((char *)tlp->spc); - free((char *)tlp); + free((void *)tlp->spc); + free((void *)tlp); } - free((char *)tp); + freefont(tp->f); /* release font reference */ + free((void *)tp); m->os = NULL; } @@ -331,7 +327,7 @@ register GLYPH *gl; /* positive x axis cross test */ while (n--) { if ((p0[1]<<1 > ylb) ^ (p1[1]<<1 > ylb)) { - tv = p0[0]<<1 > xlb | (p1[0]<<1 > xlb) << 1; + tv = (p0[0]<<1 > xlb) | ((p1[0]<<1 > xlb) << 1); if (tv == 03) ncross++; else if (tv)