diff options
Diffstat (limited to 'tools/h5repack/h5repack_parse.c')
-rw-r--r-- | tools/h5repack/h5repack_parse.c | 59 |
1 files changed, 29 insertions, 30 deletions
diff --git a/tools/h5repack/h5repack_parse.c b/tools/h5repack/h5repack_parse.c index 9243b72..7b173cc 100644 --- a/tools/h5repack/h5repack_parse.c +++ b/tools/h5repack/h5repack_parse.c @@ -16,11 +16,10 @@ #include <string.h> #include <stdio.h> #include <ctype.h> +#include "h5tools_utils.h" #include "h5repack.h" -#if 0 -#define PARSE_DEBUG -#endif +extern char *progname; /*------------------------------------------------------------------------- * Function: parse_filter @@ -96,7 +95,7 @@ obj_list_t* parse_filter(const char *str, obj_list=malloc(n*sizeof(obj_list_t)); if (obj_list==NULL) { - printf("Could not alloc object list\n"); + error_msg(progname, "could not allocate object list\n"); return NULL; } *n_objs=n; @@ -119,7 +118,7 @@ obj_list_t* parse_filter(const char *str, if (end_obj+1==(int)len) { if (obj_list) free(obj_list); - printf("Input Error: Invalid compression type in <%s>\n",str); + error_msg(progname, "input Error: Invalid compression type in <%s>\n",str); exit(1); } @@ -156,7 +155,7 @@ obj_list_t* parse_filter(const char *str, c = str[u]; if (!isdigit(c) && l==-1){ if (obj_list) free(obj_list); - printf("Input Error: Compression parameter not digit in <%s>\n",str); + error_msg(progname, "compression parameter not digit in <%s>\n",str); exit(1); } if (l==-1) @@ -176,7 +175,7 @@ obj_list_t* parse_filter(const char *str, filt->cd_values[j++]=H5_SZIP_EC_OPTION_MASK; else { - printf("Input Error: szip mask must be 'NN' or 'EC' \n"); + error_msg(progname, "szip mask must be 'NN' or 'EC' \n"); exit(1); } @@ -215,7 +214,7 @@ obj_list_t* parse_filter(const char *str, c = str[u]; if (!isdigit(c) && l==-1){ if (obj_list) free(obj_list); - printf("Input Error: Compression parameter not digit in <%s>\n",str); + error_msg(progname, "compression parameter is not a digit in <%s>\n",str); exit(1); } if (l==-1) @@ -235,7 +234,7 @@ obj_list_t* parse_filter(const char *str, filt->cd_values[j++]=H5Z_SO_FLOAT_DSCALE; else { - printf("Input Error: scale type must be 'IN' or 'DS' \n"); + error_msg(progname, "scale type must be 'IN' or 'DS' \n"); exit(1); } @@ -259,7 +258,7 @@ obj_list_t* parse_filter(const char *str, c = str[u]; if (!isdigit(c)){ if (obj_list) free(obj_list); - printf("Input Error: Compression parameter not digit in <%s>\n",str); + error_msg(progname, "compression parameter is not a digit in <%s>\n",str); exit(1); } stype[m]=c; @@ -294,7 +293,7 @@ obj_list_t* parse_filter(const char *str, filt->filtn=H5Z_FILTER_DEFLATE; if (no_param) { /*no more parameters, GZIP must have parameter */ if (obj_list) free(obj_list); - printf("Input Error: Missing compression parameter in <%s>\n",str); + error_msg(progname, "missing compression parameter in <%s>\n",str); exit(1); } } @@ -308,7 +307,7 @@ obj_list_t* parse_filter(const char *str, filt->filtn=H5Z_FILTER_SZIP; if (no_param) { /*no more parameters, SZIP must have parameter */ if (obj_list) free(obj_list); - printf("Input Error: Missing compression parameter in <%s>\n",str); + error_msg(progname, "missing compression parameter in <%s>\n",str); exit(1); } } @@ -322,7 +321,7 @@ obj_list_t* parse_filter(const char *str, filt->filtn=H5Z_FILTER_SHUFFLE; if (m>0){ /*shuffle does not have parameter */ if (obj_list) free(obj_list); - printf("Input Error: Extra parameter in SHUF <%s>\n",str); + error_msg(progname, "extra parameter in SHUF <%s>\n",str); exit(1); } } @@ -335,7 +334,7 @@ obj_list_t* parse_filter(const char *str, filt->filtn=H5Z_FILTER_FLETCHER32; if (m>0){ /*shuffle does not have parameter */ if (obj_list) free(obj_list); - printf("Input Error: Extra parameter in FLET <%s>\n",str); + error_msg(progname, "extra parameter in FLET <%s>\n",str); exit(1); } } @@ -348,7 +347,7 @@ obj_list_t* parse_filter(const char *str, filt->filtn=H5Z_FILTER_NBIT; if (m>0){ /*nbit does not have parameter */ if (obj_list) free(obj_list); - printf("Input Error: Extra parameter in NBIT <%s>\n",str); + error_msg(progname, "extra parameter in NBIT <%s>\n",str); exit(1); } } @@ -361,13 +360,13 @@ obj_list_t* parse_filter(const char *str, filt->filtn=H5Z_FILTER_SCALEOFFSET; if (no_param) { /*no more parameters, SOFF must have parameter */ if (obj_list) free(obj_list); - printf("Input Error: Missing compression parameter in <%s>\n",str); + error_msg(progname, "missing compression parameter in <%s>\n",str); exit(1); } } else { if (obj_list) free(obj_list); - printf("Input Error: Invalid filter type in <%s>\n",str); + error_msg(progname, "invalid filter type in <%s>\n",str); exit(1); } } @@ -384,7 +383,7 @@ obj_list_t* parse_filter(const char *str, case H5Z_FILTER_DEFLATE: if (filt->cd_values[0]<0 || filt->cd_values[0]>9 ){ if (obj_list) free(obj_list); - printf("Input Error: Invalid compression parameter in <%s>\n",str); + error_msg(progname, "invalid compression parameter in <%s>\n",str); exit(1); } break; @@ -394,24 +393,24 @@ obj_list_t* parse_filter(const char *str, pixels_per_block=filt->cd_values[0]; if ((pixels_per_block%2)==1) { if (obj_list) free(obj_list); - printf("Input Error: pixels_per_block is not even in <%s>\n",str); + error_msg(progname, "pixels_per_block is not even in <%s>\n",str); exit(1); } if (pixels_per_block>H5_SZIP_MAX_PIXELS_PER_BLOCK) { if (obj_list) free(obj_list); - printf("Input Error: pixels_per_block is too large in <%s>\n",str); + error_msg(progname, "pixels_per_block is too large in <%s>\n",str); exit(1); } if ( (strcmp(smask,"NN")!=0) && (strcmp(smask,"EC")!=0) ) { if (obj_list) free(obj_list); - printf("Input Error: szip mask must be 'NN' or 'EC' \n"); + error_msg(progname, "szip mask must be 'NN' or 'EC' \n"); exit(1); } break; case H5Z_FILTER_SCALEOFFSET: if (filt->cd_values[0]<0 ){ if (obj_list) free(obj_list); - printf("Input Error: Invalid compression parameter in <%s>\n",str); + error_msg(progname, "invalid compression parameter in <%s>\n",str); exit(1); } break; @@ -448,7 +447,7 @@ const char* get_sfilter(H5Z_filter_t filtn) else if (filtn==H5Z_FILTER_SCALEOFFSET) return "SOFF"; else { - printf("Input error in filter type\n"); + error_msg(progname, "input error in filter type\n"); exit(1); } return NULL; @@ -517,7 +516,7 @@ obj_list_t* parse_layout(const char *str, obj_list=malloc(n*sizeof(obj_list_t)); if (obj_list==NULL) { - printf("Could not alloc object list\n"); + error_msg(progname, "could not allocate object list\n"); return NULL; } *n_objs=n; @@ -541,7 +540,7 @@ obj_list_t* parse_layout(const char *str, if (end_obj+1==(int)len) { if (obj_list) free(obj_list); - printf("Parse layout error: No characters after : in <%s>\n",str); + error_msg(progname, "in parse layout, no characters after : in <%s>\n",str); exit(1); } @@ -558,7 +557,7 @@ obj_list_t* parse_layout(const char *str, else if (strcmp(slayout,"CHUNK")==0) pack->layout=H5D_CHUNKED; else { - printf("Parse layout error: Not a valid layout in <%s>\n",str); + error_msg(progname, "in parse layout, not a valid layout in <%s>\n",str); exit(1); } } @@ -582,7 +581,7 @@ obj_list_t* parse_layout(const char *str, if (j>(int)len) { if (obj_list) free(obj_list); - printf("Parse layout error: <%s> Chunk dimensions missing\n",str); + error_msg(progname, "in parse layout, <%s> Chunk dimensions missing\n",str); exit(1); } @@ -596,7 +595,7 @@ obj_list_t* parse_layout(const char *str, && c!='N' && c!='O' && c!='N' && c!='E' ){ if (obj_list) free(obj_list); - printf("Parse layout error: <%s> Not a valid character in <%s>\n", + error_msg(progname, "in parse layout, <%s> Not a valid character in <%s>\n", sdim,str); exit(1); } @@ -609,7 +608,7 @@ obj_list_t* parse_layout(const char *str, pack->chunk.chunk_lengths[c_index]=atoi(sdim); if (pack->chunk.chunk_lengths[c_index]==0) { if (obj_list) free(obj_list); - printf("Parse layout error: <%s> Conversion to number in <%s>\n", + error_msg(progname, "in parse layout, <%s> conversion to number in <%s>\n", sdim,str); exit(1); } @@ -627,7 +626,7 @@ obj_list_t* parse_layout(const char *str, pack->chunk.chunk_lengths[c_index]=atoi(sdim); if (pack->chunk.chunk_lengths[c_index]==0){ if (obj_list) free(obj_list); - printf("Parse layout error: <%s> Conversion to number in <%s>\n", + error_msg(progname, "in parse layout, <%s> conversion to number in <%s>\n", sdim,str); exit(1); } |