ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/image.c
(Generate patch)

Comparing ray/src/common/image.c (file contents):
Revision 2.4 by greg, Tue Sep 8 09:09:20 1992 UTC vs.
Revision 2.6 by greg, Sat Dec 5 16:23:37 1992 UTC

# Line 148 | Line 148 | double  x, y;
148                  if (d > 1.0)
149                          return(-1);
150                  VCOPY(orig, v->vp);
151                if (d <= FTINY) {
152                        VCOPY(direc, v->vdir);
153                        return(0);
154                }
151                  d = sqrt(d);
152                  z = cos(PI*d);
153 <                d = sqrt(1 - z*z)/d;
153 >                d = d <= FTINY ? PI : sqrt(1 - z*z)/d;
154                  x *= d;
155                  y *= d;
156                  direc[0] = z*v->vdir[0] + x*v->hvec[0] + y*v->vvec[0];
# Line 378 | Line 374 | int
374   isview(s)                               /* is this a view string? */
375   char  *s;
376   {
377 <        static char  *altname[]={NULL,"rpict","rview","pinterp",VIEWSTR,NULL};
378 <        extern char  *progname, *rindex();
377 >        static char  *altname[]={NULL,VIEWSTR,"rpict","rview","pinterp",NULL};
378 >        extern char  *progname;
379          register char  *cp;
380          register char  **an;
381                                          /* add program name to list */
382 <        if (altname[0] == NULL)
383 <                if ((cp = rindex(progname, DIRSEP)) != NULL)
384 <                        altname[0] = cp+1;
385 <                else
386 <                        altname[0] = progname;
382 >        if (altname[0] == NULL) {
383 >                for (cp = progname; *cp; cp++)
384 >                        ;
385 >                while (cp > progname && !ISDIRSEP(cp[-1]))
386 >                        cp--;
387 >                altname[0] = cp;
388 >        }
389                                          /* skip leading path */
390          cp = s;
391          while (*cp && *cp != ' ')
392                  cp++;
393 <        while (cp > s && cp[-1] != DIRSEP)
393 >        while (cp > s && !ISDIRSEP(cp[-1]))
394                  cp--;
395          for (an = altname; *an != NULL; an++)
396                  if (!strncmp(*an, cp, strlen(*an)))

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines