18 |
|
const char stdin_name[] = "<stdin>"; |
19 |
|
|
20 |
|
const char *cm_fmt_id[] = { |
21 |
< |
"unknown", COLRFMT, CIEFMT, |
21 |
> |
"unknown", COLRFMT, CIEFMT, SPECFMT, |
22 |
|
"float", "ascii", "double" |
23 |
|
}; |
24 |
|
|
25 |
|
const int cm_elem_size[] = { |
26 |
< |
0, 4, 4, 3*sizeof(float), 0, 3*sizeof(double) |
26 |
> |
0, 4, 4, 0, 3*sizeof(float), 0, 3*sizeof(double) |
27 |
|
}; |
28 |
|
|
29 |
|
/* Allocate a color coefficient matrix */ |
96 |
|
char fmt[MAXFMTLEN]; |
97 |
|
int i; |
98 |
|
|
99 |
< |
if (!strncmp(s, "NCOMP=", 6) && atoi(s+6) != 3) { |
99 |
> |
if (isncomp(s) && ncompval(s) != 3) { |
100 |
|
ip->err = "unexpected # components (must be 3)"; |
101 |
|
return(-1); |
102 |
|
} |
495 |
|
|
496 |
|
if (!cm) |
497 |
|
return(0); |
498 |
+ |
#ifdef getc_unlocked |
499 |
+ |
flockfile(fp); |
500 |
+ |
#endif |
501 |
|
mp = cm->cmem; |
502 |
|
switch (dtype) { |
503 |
|
case DTascii: |
549 |
|
fputs("Unsupported data type in cm_write()!\n", stderr); |
550 |
|
return(0); |
551 |
|
} |
552 |
+ |
#ifdef getc_unlocked |
553 |
+ |
funlockfile(fp); |
554 |
+ |
#endif |
555 |
|
return(fflush(fp) == 0); |
556 |
|
} |