| 471 |
|
int |
| 472 |
|
main(int argc, char *argv[]) |
| 473 |
|
{ |
| 474 |
< |
int do_header = 1; /* header i/o? */ |
| 474 |
> |
int i_header = 1; /* input header? */ |
| 475 |
> |
int o_header = 1; /* output header? */ |
| 476 |
|
int transpose = 0; /* transpose rows & cols? */ |
| 477 |
|
int i; |
| 478 |
|
|
| 494 |
|
else |
| 495 |
|
goto userr; |
| 496 |
|
break; |
| 497 |
< |
case 'h': /* header on/off */ |
| 498 |
< |
do_header = !do_header; |
| 497 |
> |
case 'h': /* turn off header */ |
| 498 |
> |
switch (argv[i][2]) { |
| 499 |
> |
case 'i': |
| 500 |
> |
i_header = 0; |
| 501 |
> |
break; |
| 502 |
> |
case 'o': |
| 503 |
> |
o_header = 0; |
| 504 |
> |
break; |
| 505 |
> |
case '\0': |
| 506 |
> |
i_header = o_header = 0; |
| 507 |
> |
break; |
| 508 |
> |
default: |
| 509 |
> |
goto userr; |
| 510 |
> |
} |
| 511 |
|
break; |
| 512 |
|
case 't': /* transpose on/off */ |
| 513 |
|
transpose = !transpose; |
| 570 |
|
return(1); |
| 571 |
|
return(0); |
| 572 |
|
} |
| 573 |
< |
if (do_header) { /* read/write header */ |
| 573 |
> |
if (i_header) { /* read header */ |
| 574 |
|
if (getheader(stdin, &headline, NULL) < 0) |
| 575 |
|
return(1); |
| 576 |
|
check_sizes(); |
| 578 |
|
SET_FILE_BINARY(stdin); |
| 579 |
|
SET_FILE_BINARY(stdout); |
| 580 |
|
} |
| 581 |
+ |
} else |
| 582 |
+ |
check_sizes(); |
| 583 |
+ |
if (o_header) { /* write header */ |
| 584 |
|
printargs(argc, argv, stdout); |
| 585 |
|
if (transpose && (no_rows <= 0) & (no_columns <= 0)) { |
| 586 |
|
if (ni_rows > 0) no_columns = ni_rows; |
| 593 |
|
printf("NCOMP=%d\n", n_comp); |
| 594 |
|
fputformat(fmtid, stdout); |
| 595 |
|
fputc('\n', stdout); /* finish new header */ |
| 596 |
< |
} else |
| 581 |
< |
check_sizes(); |
| 596 |
> |
} |
| 597 |
|
if (transpose) { /* transposing rows & columns? */ |
| 598 |
|
MEMLOAD myMem; /* need to load into memory */ |
| 599 |
|
if (i == argc-1) { |
| 615 |
|
return(0); |
| 616 |
|
userr: |
| 617 |
|
fprintf(stderr, |
| 618 |
< |
"Usage: %s [-h][-w][-f[afdb][N]][-t][-ic in_col][-ir in_row][-oc out_col][-or out_row] [input.dat]\n", |
| 618 |
> |
"Usage: %s [-h[io]][-w][-f[afdb][N]][-t][-ic in_col][-ir in_row][-oc out_col][-or out_row] [input.dat]\n", |
| 619 |
|
argv[0]); |
| 620 |
|
return(1); |
| 621 |
|
} |