--- ray/src/cv/pkgBSDF.c 2011/08/25 04:32:29 2.2 +++ ray/src/cv/pkgBSDF.c 2013/04/21 22:56:14 2.5 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: pkgBSDF.c,v 2.2 2011/08/25 04:32:29 greg Exp $"; +static const char RCSid[] = "$Id: pkgBSDF.c,v 2.5 2013/04/21 22:56:14 greg Exp $"; #endif /* * Take BSDF XML file and generate a referencing Radiance object @@ -53,12 +53,12 @@ geomBSDF(const SDData *bsp) char command[SDnameLn+64]; int fd; /* write MGF to temp file */ - fd = open(mktemp(strcpy(tmpfile,TEMPLATE)), O_WRONLY|O_CREAT|O_EXCL); + fd = open(mktemp(strcpy(tmpfile,TEMPLATE)), O_WRONLY|O_CREAT|O_EXCL, 0600); if (fd < 0) { fprintf(stderr, "Cannot open temp file '%s'\n", tmpfile); return(0); } - write(fd, bsp->mgf, strlen(bsp->mgf)); + (void)write(fd, bsp->mgf, strlen(bsp->mgf)); close(fd); /* set up command */ if (do_instance) { @@ -100,7 +100,7 @@ cvtBSDF(char *fname) return(0); } 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) { @@ -113,6 +113,9 @@ cvtBSDF(char *fname) retOK = (freopen(rname, "w", stdout) != NULL); } if (retOK) { + if (myBSDF.matn[0] && myBSDF.makr[0]) + printf("# Material '%s' by '%s'\n\n", + myBSDF.matn, myBSDF.makr); if (myBSDF.mgf == NULL) { faceBSDF(&myBSDF, .0); } else {