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 |
|
} |