Mercurial > hg > minc-tools
changeset 735:542b3e7dfc4a
Added argument to specify maximum group id to dump.
author | neelin <neelin> |
---|---|
date | Mon, 06 Feb 1995 14:12:55 +0000 |
parents | f166724c3e1c |
children | e40db4c3e4b1 |
files | conversion/Acr_nema/dump_acr_nema.c |
diffstat | 1 files changed, 26 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/conversion/Acr_nema/dump_acr_nema.c +++ b/conversion/Acr_nema/dump_acr_nema.c @@ -5,9 +5,12 @@ @GLOBALS : @CREATED : November 24, 1993 (Peter Neelin) @MODIFIED : $Log: dump_acr_nema.c,v $ -@MODIFIED : Revision 2.0 1994-09-28 10:36:09 neelin -@MODIFIED : Release of minc version 0.2 +@MODIFIED : Revision 2.1 1995-02-06 14:12:55 neelin +@MODIFIED : Added argument to specify maximum group id to dump. @MODIFIED : + * Revision 2.0 94/09/28 10:36:09 neelin + * Release of minc version 0.2 + * * Revision 1.6 94/09/28 10:35:53 neelin * Pre-release * @@ -54,17 +57,19 @@ Acr_Group group_list; Acr_Status status; char *status_string; + int maxid; + char *string, *ptr; /* Check arguments */ pname = argv[0]; - if ((argc > 2) || + if ((argc > 3) || ((argc == 2) && (strncmp(argv[1], "-h", (size_t) 2) == 0))) { - (void) fprintf(stderr, "Usage: %s [<file>]\n", pname); + (void) fprintf(stderr, "Usage: %s [<file> [<max group>]]\n", pname); exit(EXIT_FAILURE); } /* Open input file */ - if (argc == 2) { + if ((argc >= 2) && (strcmp(argv[1],"-") != 0)) { fp = fopen(argv[1], "r"); if (fp == NULL) { (void) fprintf(stderr, "%s: Error opening file %s\n", @@ -76,12 +81,26 @@ fp = stdin; } + /* Look for max group id */ + if (argc >= 3) { + string = argv[2]; + maxid = strtol(string, &ptr, 0); + if (ptr == string) { + (void) fprintf(stderr, "%s: Error in max group id (%s)\n", + pname, string); + exit(EXIT_FAILURE); + } + } + else { + maxid = 0; + } + /* Connect to input stream */ afp=acr_file_initialize(fp, 0, acr_stdio_read); (void) acr_test_byte_ordering(afp); /* Read in group list */ - status = acr_input_group_list(afp, &group_list, 0); + status = acr_input_group_list(afp, &group_list, maxid); /* Free the afp */ acr_file_free(afp); @@ -90,7 +109,7 @@ acr_dump_group_list(stdout, group_list); /* Print status information */ - if (status != ACR_END_OF_INPUT) { + if ((status != ACR_END_OF_INPUT) && (status != ACR_OK)) { switch (status) { case ACR_OK: status_string = "No error"; break;