--- ray/src/cv/bsdfpeaks.c 2025/05/21 23:10:55 2.3 +++ ray/src/cv/bsdfpeaks.c 2025/06/03 21:31:51 2.5 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: bsdfpeaks.c,v 2.3 2025/05/21 23:10:55 greg Exp $"; +static const char RCSid[] = "$Id: bsdfpeaks.c,v 2.5 2025/06/03 21:31:51 greg Exp $"; #endif /* * Compute minimum FWHM peak for each incident direction in SIR input. @@ -10,6 +10,7 @@ static const char RCSid[] = "$Id: bsdfpeaks.c,v 2.3 20 #include #include #include +#include "paths.h" #include "bsdfrep.h" typedef struct { @@ -21,8 +22,6 @@ typedef struct { typedef double eval_f(const FVECT vin, const FVECT vout, const void *p); -char *progname; /* needed by bsdfrep.c */ - /* Comparison function to put larger peaks first */ int cmpFWHM(const void *p0, const void *p1) @@ -127,8 +126,8 @@ main(int argc, char *argv[]) int ndirs; FWHM *peaka; int i; - - progname = argv[0]; + /* set global progname */ + fixargv0(argv[0]); if (argc < 2) goto userr; @@ -194,9 +193,14 @@ main(int argc, char *argv[]) printf("\t%.1f", 180./M_PI * getFWHM(peaka[i].rbs->invec, vout, sqrt(psa/M_PI), bsdf_eval, sd)); + SDfreeCache(sd); } fputc('\n', stdout); } + /* we're exiting, anyway... + SDfreeCache(NULL); + clear_bsdf_rep(); + */ return(0); userr: fprintf(stderr, "Usage: %s bsdf.sir [bsdfrep1.xml ..]\n", progname);