53 |
|
|
54 |
|
char *tfname = NULL; |
55 |
|
|
56 |
+ |
char template[] = TEMPLATE; |
57 |
+ |
|
58 |
|
char *lampdat = "lamp.tab"; /* lamp data file */ |
59 |
|
|
60 |
|
int order; /* scanline ordering of input */ |
92 |
|
long fpos; |
93 |
|
double outaspect = 0.0; |
94 |
|
double d; |
95 |
< |
int i, j; |
95 |
> |
int i; |
96 |
|
#ifdef MSDOS |
97 |
|
extern int _fmode; |
98 |
|
_fmode = O_BINARY; |
102 |
|
if (signal(SIGINT, quit) == SIG_IGN) |
103 |
|
signal(SIGINT, SIG_IGN); |
104 |
|
if (signal(SIGHUP, quit) == SIG_IGN) |
105 |
< |
signal(SIGINT, SIG_IGN); |
105 |
> |
signal(SIGHUP, SIG_IGN); |
106 |
|
signal(SIGTERM, quit); |
107 |
|
signal(SIGPIPE, quit); |
108 |
|
#ifdef SIGXCPU |
229 |
|
if (singlepass) |
230 |
|
fin = stdin; |
231 |
|
else { |
232 |
< |
tfname = mktemp(TEMPLATE); |
232 |
> |
tfname = mktemp(template); |
233 |
|
if ((fin = fopen(tfname, "w+")) == NULL) { |
234 |
|
fprintf(stderr, "%s: can't create ", progname); |
235 |
|
fprintf(stderr, "temp file \"%s\"\n", tfname); |
445 |
|
} |
446 |
|
barsize = 2*yrad + 1; |
447 |
|
scanin = (COLOR **)malloc(barsize*sizeof(COLOR *)); |
448 |
+ |
if (scanin == NULL) |
449 |
+ |
goto memerr; |
450 |
|
for (i = 0; i < barsize; i++) { |
451 |
|
scanin[i] = (COLOR *)malloc(xres*sizeof(COLOR)); |
452 |
< |
if (scanin[i] == NULL) { |
453 |
< |
fprintf(stderr, "%s: out of memory\n", progname); |
450 |
< |
quit(1); |
451 |
< |
} |
452 |
> |
if (scanin[i] == NULL) |
453 |
> |
goto memerr; |
454 |
|
} |
455 |
|
if (obarsize > 0) { |
456 |
|
scoutbar = (COLOR **)malloc(obarsize*sizeof(COLOR *)); |
457 |
|
greybar = (float **)malloc(obarsize*sizeof(float *)); |
458 |
+ |
if (scoutbar == NULL | greybar == NULL) |
459 |
+ |
goto memerr; |
460 |
|
for (i = 0; i < obarsize; i++) { |
461 |
|
scoutbar[i] = (COLOR *)malloc(ncols*sizeof(COLOR)); |
462 |
|
greybar[i] = (float *)malloc(ncols*sizeof(float)); |
463 |
< |
if (scoutbar[i] == NULL | greybar[i] == NULL) { |
464 |
< |
fprintf(stderr, "%s: out of memory\n", |
461 |
< |
progname); |
462 |
< |
quit(1); |
463 |
< |
} |
463 |
> |
if (scoutbar[i] == NULL | greybar[i] == NULL) |
464 |
> |
goto memerr; |
465 |
|
} |
466 |
|
} else { |
467 |
|
scanout = (COLOR *)malloc(ncols*sizeof(COLOR)); |
468 |
< |
if (scanout == NULL) { |
469 |
< |
fprintf(stderr, "%s: out of memory\n", progname); |
469 |
< |
quit(1); |
470 |
< |
} |
468 |
> |
if (scanout == NULL) |
469 |
> |
goto memerr; |
470 |
|
} |
471 |
|
/* record pixel aspect ratio */ |
472 |
|
if (!correctaspect) { |
487 |
|
printf("\n"); |
488 |
|
/* write out resolution */ |
489 |
|
fputresolu(order, ncols, nrows, stdout); |
490 |
+ |
return; |
491 |
+ |
memerr: |
492 |
+ |
fprintf(stderr, "%s: out of memory\n", progname); |
493 |
+ |
quit(1); |
494 |
|
} |
495 |
|
|
496 |
|
|