--- ray/src/cv/pkgBSDF.c 2012/03/05 00:25:15 2.4 +++ ray/src/cv/pkgBSDF.c 2015/08/18 15:23:38 2.7 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: pkgBSDF.c,v 2.4 2012/03/05 00:25:15 greg Exp $"; +static const char RCSid[] = "$Id: pkgBSDF.c,v 2.7 2015/08/18 15:23:38 greg Exp $"; #endif /* * Take BSDF XML file and generate a referencing Radiance object @@ -87,10 +87,10 @@ cvtBSDF(char *fname) { int retOK; SDData myBSDF; - char *pname; + char *pname, *fnbeg; /* find and load the XML file */ retOK = strlen(fname); - if (retOK < 5 || strcmp(fname+retOK-4, ".xml")) { + if (retOK < 5 || strcasecmp(fname+retOK-4, ".xml")) { fprintf(stderr, "%s: input does not end in '.xml'\n", fname); return(0); } @@ -99,8 +99,11 @@ cvtBSDF(char *fname) fprintf(stderr, "%s: cannot find BSDF file\n", fname); return(0); } + fnbeg = strrchr(fname, DIRSEP); + if (fnbeg != NULL) /* eliminate directory */ + fname = fnbeg+1; SDclearBSDF(&myBSDF, fname); - if (SDreportEnglish(SDloadFile(&myBSDF, pname), stderr)) + if (SDreportError(SDloadFile(&myBSDF, pname), stderr)) return(0); retOK = (myBSDF.dim[0] > FTINY) & (myBSDF.dim[1] > FTINY); if (!retOK) {