378 |
|
fp = stdin; |
379 |
|
else if (inspec[0] == '!') |
380 |
|
fp = popen(inspec+1, "r"); |
381 |
< |
else { |
382 |
< |
const char *sp = inspec; /* check suffix */ |
383 |
< |
while (*sp) |
384 |
< |
++sp; |
385 |
< |
while (sp > inspec && sp[-1] != '.') |
386 |
< |
--sp; |
387 |
< |
if (!strcasecmp(sp, "XML")) { /* assume it's a BSDF */ |
381 |
> |
else { /* check suffix */ |
382 |
> |
const char *sp = strrchr(inspec, '.'); |
383 |
> |
if (sp > inspec && !strcasecmp(sp+1, "XML")) { /* BSDF? */ |
384 |
|
CMATRIX *cm = rmp==RMPnone ? (CMATRIX *)NULL : |
385 |
|
rmp==RMPtrans ? cm_loadBTDF(inspec) : |
386 |
|
cm_loadBRDF(inspec, rmp==RMPreflB) ; |