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 1.17 by greg, Mon Nov 11 14:00:14 1991 UTC vs.
Revision 2.4 by greg, Tue Sep 8 09:09:20 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 276 | Line 278 | register char  *av[];
278   {
279   #define check(c,l)      if ((av[0][c]&&av[0][c]!=' ') || \
280                          badarg(ac-1,av+1,l)) return(-1)
279        extern double  atof();
281  
282          if (ac <= 0 || av[0][0] != '-' || av[0][1] != 'v')
283                  return(-1);
# Line 338 | 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 373 | 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,"rpict","rview","pinterp",VIEWSTR,NULL};
382 >        extern char  *progname, *rindex();
383 >        register char  *cp;
384 >        register char  **an;
385 >                                        /* add program name to list */
386 >        if (altname[0] == NULL)
387 >                if ((cp = rindex(progname, DIRSEP)) != NULL)
388 >                        altname[0] = cp+1;
389 >                else
390 >                        altname[0] = progname;
391 >                                        /* skip leading path */
392 >        cp = s;
393 >        while (*cp && *cp != ' ')
394 >                cp++;
395 >        while (cp > s && cp[-1] != DIRSEP)
396 >                cp--;
397 >        for (an = altname; *an != NULL; an++)
398 >                if (!strncmp(*an, cp, strlen(*an)))
399 >                        return(1);
400 >        return(0);
401 > }
402  
403 +
404   struct myview {
405          VIEW    *hv;
406          int     ok;
# Line 386 | Line 412 | gethview(s, v)                         /* get view from header */
412   char  *s;
413   register struct myview  *v;
414   {
415 <        register char  **an;
416 <
391 <        for (an = altname; *an != NULL; an++)
392 <                if (!strncmp(*an, s, strlen(*an))) {
393 <                        if (sscanview(v->hv, s+strlen(*an)) > 0)
394 <                                v->ok++;
395 <                        return;
396 <                }
415 >        if (isview(s) && sscanview(v->hv, s) > 0)
416 >                v->ok++;
417   }
418  
419  
# Line 403 | Line 423 | char  *fname;
423   VIEW  *vp;
424   RESOLU  *rp;
425   {
406        extern char  *progname;
426          struct myview   mvs;
427          FILE  *fp;
428  
429          if ((fp = fopen(fname, "r")) == NULL)
430                  return(-1);
431  
413        altname[0] = progname;
432          mvs.hv = vp;
433          mvs.ok = 0;
434  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines