| 587 |
|
#ifdef getc_unlocked |
| 588 |
|
flockfile(fp); |
| 589 |
|
#endif |
| 590 |
< |
/* complete header */ |
| 591 |
< |
if (rm->info) |
| 590 |
> |
if (rm->info) /* complete header */ |
| 591 |
|
fputs(rm->info, fp); |
| 592 |
|
if (dtype == DTfromHeader) |
| 593 |
|
dtype = rm->dtype; |
| 603 |
|
else if (rm->cexp[GRN] != 1.f) |
| 604 |
|
fputexpos(rm->cexp[GRN], fp); |
| 605 |
|
if ((dtype != DTrgbe) & (dtype != DTxyze)) { |
| 606 |
< |
if (dtype == DTspec) { |
| 608 |
< |
if (rm->ncomp < 3) |
| 609 |
< |
return(0); /* bad # components */ |
| 610 |
< |
fputwlsplit(rm->wlpart, fp); |
| 611 |
< |
} else { |
| 606 |
> |
if (dtype != DTspec) { |
| 607 |
|
fprintf(fp, "NROWS=%d\n", rm->nrows); |
| 608 |
|
fprintf(fp, "NCOLS=%d\n", rm->ncols); |
| 609 |
< |
} |
| 609 |
> |
} else if (rm->ncomp < 3) |
| 610 |
> |
return(0); /* bad # components */ |
| 611 |
|
fputncomp(rm->ncomp, fp); |
| 612 |
+ |
if (dtype == DTspec || (rm->ncomp > 3 && |
| 613 |
+ |
memcmp(rm->wlpart, WLPART, sizeof(WLPART)))) |
| 614 |
+ |
fputwlsplit(rm->wlpart, fp); |
| 615 |
|
} else if ((rm->ncomp != 3) & (rm->ncomp != 1)) |
| 616 |
|
return(0); /* wrong # components */ |
| 617 |
|
if ((dtype == DTfloat) | (dtype == DTdouble)) |
| 618 |
|
fputendian(fp); /* important to record */ |
| 619 |
|
fputformat(cm_fmt_id[dtype], fp); |
| 620 |
< |
fputc('\n', fp); |
| 620 |
> |
fputc('\n', fp); /* end of header */ |
| 621 |
|
switch (dtype) { /* write data */ |
| 622 |
|
case DTascii: |
| 623 |
|
ok = rmx_write_ascii(rm, fp); |