ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/util/rcollate.c
(Generate patch)

Comparing ray/src/util/rcollate.c (file contents):
Revision 2.9 by greg, Fri May 30 00:00:54 2014 UTC vs.
Revision 2.10 by greg, Fri May 30 16:50:43 2014 UTC

# Line 471 | Line 471 | headline(char *s, void *p)
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  
# Line 493 | Line 494 | main(int argc, char *argv[])
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;
# Line 557 | Line 570 | main(int argc, char *argv[])
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();
# Line 565 | Line 578 | main(int argc, char *argv[])
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;
# Line 577 | Line 593 | main(int argc, char *argv[])
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) {
# Line 600 | Line 615 | main(int argc, char *argv[])
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   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines