10 |
|
#include "copyright.h" |
11 |
|
|
12 |
|
#include "ray.h" |
13 |
+ |
#include "func.h" |
14 |
|
#include "paths.h" |
15 |
|
#include "pmapopt.h" |
16 |
|
|
76 |
|
while (*reqs && (*cp = *reqs++) != ',') |
77 |
|
cp++; |
78 |
|
*cp = '\0'; |
79 |
< |
n = cp - subfeat; |
80 |
< |
if (!(cp = strstr(mysublist, subfeat)) || |
81 |
< |
(cp[-1] != ',') & (cp[-1] != '=') || |
82 |
< |
(cp[n] != ',') & (cp[n] != '\n')) |
79 |
> |
if (!(n = cp - subfeat)) |
80 |
> |
continue; /* empty subfeature */ |
81 |
> |
for (cp = mysublist; (cp = strstr(cp, subfeat)) != NULL; cp++) |
82 |
> |
if ((cp[-1] == ',') | (cp[-1] == '=') && |
83 |
> |
(cp[n] == ',') | (cp[n] == '\n')) |
84 |
> |
break; /* match */ |
85 |
> |
if (!cp) |
86 |
|
return(0); /* missing this one! */ |
87 |
|
} |
88 |
|
return(1); /* matched them all */ |
314 |
|
return(1); |
315 |
|
} |
316 |
|
break; |
317 |
+ |
case 'f': /* .cal file */ |
318 |
+ |
check(2,"s"); |
319 |
+ |
loadfunc(av[1]); |
320 |
+ |
return(1); |
321 |
+ |
case 'e': /* .cal expression */ |
322 |
+ |
check(2,"s"); |
323 |
+ |
if (!strchr(av[1], '=') && !strchr(av[1], ':')) |
324 |
+ |
break; |
325 |
+ |
scompile(av[1], NULL, 0); |
326 |
+ |
return(1); |
327 |
|
#if MAXCSAMP>3 |
328 |
|
case 'c': /* spectral sampling */ |
329 |
|
switch (av[0][2]) { |