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.2 by greg, Thu Dec 19 14:45:50 1991 UTC vs.
Revision 2.5 by greg, Tue Sep 8 10:04:30 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 337 | Line 339 | register char  *s;
339          int  na;
340          int  nvopts = 0;
341  
342 <        while (*s == ' ')
343 <                s++;
342 >        if (*s != '-')
343 >                s = sskip(s);
344          while (*s) {
345                  ac = 0;
346                  do {
# Line 372 | Line 374 | FILE  *fp;
374   }
375  
376  
377 < static char  *altname[] = {NULL,"rpict","rview","pinterp",VIEWSTR,NULL};
377 > int
378 > isview(s)                               /* is this a view string? */
379 > char  *s;
380 > {
381 >        static char  *altname[]={NULL,VIEWSTR,"rpict","rview","pinterp",NULL};
382 >        extern char  *progname;
383 >        register char  *cp;
384 >        register char  **an;
385 >                                        /* add program name to list */
386 >        if (altname[0] == NULL) {
387 >                for (cp = progname; *cp; cp++)
388 >                        ;
389 >                while (cp > progname && !ISDIRSEP(cp[-1]))
390 >                        cp--;
391 >                altname[0] = cp;
392 >        }
393 >                                        /* skip leading path */
394 >        cp = s;
395 >        while (*cp && *cp != ' ')
396 >                cp++;
397 >        while (cp > s && !ISDIRSEP(cp[-1]))
398 >                cp--;
399 >        for (an = altname; *an != NULL; an++)
400 >                if (!strncmp(*an, cp, strlen(*an)))
401 >                        return(1);
402 >        return(0);
403 > }
404  
405 +
406   struct myview {
407          VIEW    *hv;
408          int     ok;
# Line 385 | Line 414 | gethview(s, v)                         /* get view from header */
414   char  *s;
415   register struct myview  *v;
416   {
417 <        register char  **an;
418 <
390 <        for (an = altname; *an != NULL; an++)
391 <                if (!strncmp(*an, s, strlen(*an))) {
392 <                        if (sscanview(v->hv, s+strlen(*an)) > 0)
393 <                                v->ok++;
394 <                        return;
395 <                }
417 >        if (isview(s) && sscanview(v->hv, s) > 0)
418 >                v->ok++;
419   }
420  
421  
# Line 402 | Line 425 | char  *fname;
425   VIEW  *vp;
426   RESOLU  *rp;
427   {
405        extern char  *progname;
428          struct myview   mvs;
429          FILE  *fp;
430  
431          if ((fp = fopen(fname, "r")) == NULL)
432                  return(-1);
433  
412        altname[0] = progname;
434          mvs.hv = vp;
435          mvs.ok = 0;
436  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines