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.3 by greg, Tue Apr 28 09:36:42 1992 UTC vs.
Revision 2.6 by greg, Sat Dec 5 16:23:37 1992 UTC

# Line 1 | Line 1
1 < /* Copyright (c) 1991 Regents of the University of California */
1 > /* Copyright (c) 1992 Regents of the University of California */
2  
3   #ifndef lint
4   static char SCCSid[] = "$SunId$ LBL";
# Line 16 | Line 16 | static char SCCSid[] = "$SunId$ LBL";
16  
17   #include  "resolu.h"
18  
19 + #include  "paths.h"
20 +
21   VIEW  stdview = STDVIEW;                /* default view parameters */
22  
23  
# Line 146 | Line 148 | double  x, y;
148                  if (d > 1.0)
149                          return(-1);
150                  VCOPY(orig, v->vp);
149                if (d <= FTINY) {
150                        VCOPY(direc, v->vdir);
151                        return(0);
152                }
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 376 | 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, '/')) != 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] != '/')
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