--- ray/src/util/findglare.c 2004/01/02 12:51:54 2.11 +++ ray/src/util/findglare.c 2014/07/29 21:36:08 2.14 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: findglare.c,v 2.11 2004/01/02 12:51:54 schorsch Exp $"; +static const char RCSid[] = "$Id: findglare.c,v 2.14 2014/07/29 21:36:08 greg Exp $"; #endif /* * Find glare sources in a scene or image. @@ -39,7 +39,7 @@ struct illum *indirect; /* array of indirect illumina long npixinvw; /* number of pixels in view */ long npixmiss; /* number of pixels missed */ -static int angcmp(const void *ap1, const void *ap2); +static int angcmp(const void *ap1, const void *ap2); static void init(void); static void cleanup(void); static void printsources(void); @@ -65,7 +65,7 @@ main( while ((rval = expandarg(&argc, &argv, i)) > 0) ; if (rval < 0) { - fprintf(stderr, "%s: cannot expand '%s'", + fprintf(stderr, "%s: cannot expand '%s'\n", argv[0], argv[i]); exit(1); } @@ -129,15 +129,26 @@ main( /* FALL THROUGH */ case 's': case 'P': + case 'n': rtargv[rtargc++] = argv[i]; rtargv[rtargc++] = argv[++i]; break; case 'w': + case 'u': + case 'b': rtargv[rtargc++] = argv[i]; break; case 'a': rtargv[rtargc++] = argv[i]; if (argv[i][2] == 'v') { + rtargv[rtargc++] = argv[++i]; + rtargv[rtargc++] = argv[++i]; + } + rtargv[rtargc++] = argv[++i]; + break; + case 'm': + rtargv[rtargc++] = argv[i]; + if ((argv[i][2] == 'e') | (argv[i][2] == 'a')) { rtargv[rtargc++] = argv[++i]; rtargv[rtargc++] = argv[++i]; }