diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2007-09-25 22:18:33 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2007-09-25 22:18:33 (GMT) |
commit | 68c01f91d94d1fa7a7cff198cb8daf6c89f05da7 (patch) | |
tree | 8035fe4ed2f2a10855575c91969e4107af382d46 /tools | |
parent | 02296972ec8a90ad50d89786755d0e953e95b455 (diff) | |
download | hdf5-68c01f91d94d1fa7a7cff198cb8daf6c89f05da7.zip hdf5-68c01f91d94d1fa7a7cff198cb8daf6c89f05da7.tar.gz hdf5-68c01f91d94d1fa7a7cff198cb8daf6c89f05da7.tar.bz2 |
[svn-r14154] Description:
Finish deprecating last H5G symbol (H5G_obj_t) - yay!
Lots of misc. library fixes to remove confusion between links and
objects. The tools could still use another pass, to remove h5trav_type_t type
and make the correct distinction between links & objects.
Tested on:
FreeBSD/32 6.2 (duty) in debug mode
FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
AIX/32 5.3 (copper) w/FORTRAN, w/parallel, in production mode
Mac OS X/32 10.4.10 (amazon) in debug mode
Diffstat (limited to 'tools')
-rw-r--r-- | tools/h5diff/h5diffgentest.c | 2 | ||||
-rw-r--r-- | tools/h5diff/ph5diff_main.c | 2 | ||||
-rw-r--r-- | tools/h5ls/h5ls.c | 6 | ||||
-rw-r--r-- | tools/h5repack/h5repack_copy.c | 134 | ||||
-rw-r--r-- | tools/h5repack/h5repack_refs.c | 4 | ||||
-rw-r--r-- | tools/h5repack/h5repack_verify.c | 30 | ||||
-rw-r--r-- | tools/h5stat/h5stat.c | 224 | ||||
-rw-r--r-- | tools/lib/h5diff.c | 19 | ||||
-rw-r--r-- | tools/lib/h5diff.h | 2 | ||||
-rw-r--r-- | tools/lib/h5diff_util.c | 31 | ||||
-rw-r--r-- | tools/lib/ph5diff.h | 2 |
11 files changed, 223 insertions, 233 deletions
diff --git a/tools/h5diff/h5diffgentest.c b/tools/h5diff/h5diffgentest.c index 048c193..b50b985 100644 --- a/tools/h5diff/h5diffgentest.c +++ b/tools/h5diff/h5diffgentest.c @@ -297,7 +297,7 @@ out: /*------------------------------------------------------------------------- * Function: test_types * - * Purpose: Compare different HDF5 types (H5G_obj_t): + * Purpose: Compare different HDF5 object & link types: * H5G_DATASET, H5G_TYPE, H5G_GROUP, H5G_LINK, H5G_UDLINK * *------------------------------------------------------------------------- diff --git a/tools/h5diff/ph5diff_main.c b/tools/h5diff/ph5diff_main.c index 9cbc993..af2ab7f 100644 --- a/tools/h5diff/ph5diff_main.c +++ b/tools/h5diff/ph5diff_main.c @@ -168,7 +168,7 @@ ph5diff_worker(int nID) if(Status.MPI_TAG == MPI_TAG_ARGS) { /*Recv parameters for diff from manager task */ - MPI_Recv(&args, sizeof(struct diff_args), MPI_BYTE, 0, MPI_TAG_ARGS, MPI_COMM_WORLD, &Status); + MPI_Recv(&args, sizeof(args), MPI_BYTE, 0, MPI_TAG_ARGS, MPI_COMM_WORLD, &Status); /*Do the diff */ nfound = diff(file1_id, args.name, file2_id, args.name, &(args.options), args.type); diffs.nfound = nfound; diff --git a/tools/h5ls/h5ls.c b/tools/h5ls/h5ls.c index 3d8104c..4ea6bbc 100644 --- a/tools/h5ls/h5ls.c +++ b/tools/h5ls/h5ls.c @@ -2069,9 +2069,9 @@ main(int argc, const char *argv[]) h5tools_init(); /* Build object display table */ - DISPATCH(H5G_DATASET, "Dataset", H5Dopen2, H5Dclose, dataset_list1, dataset_list2); - DISPATCH(H5G_GROUP, "Group", H5Gopen2, H5Gclose, NULL, group_list2); - DISPATCH(H5G_TYPE, "Type", H5Topen2, H5Tclose, NULL, datatype_list2); + DISPATCH(H5O_TYPE_GROUP, "Group", H5Gopen2, H5Gclose, NULL, group_list2); + DISPATCH(H5O_TYPE_DATASET, "Dataset", H5Dopen2, H5Dclose, dataset_list1, dataset_list2); + DISPATCH(H5O_TYPE_NAMED_DATATYPE, "Type", H5Topen2, H5Tclose, NULL, datatype_list2); /* Default output width */ width_g = get_width(); diff --git a/tools/h5repack/h5repack_copy.c b/tools/h5repack/h5repack_copy.c index 42dca2a..542aaf8 100644 --- a/tools/h5repack/h5repack_copy.c +++ b/tools/h5repack/h5repack_copy.c @@ -324,18 +324,18 @@ int do_copy_objects(hid_t fidin, buf = NULL; switch ( travt->objs[i].type ) { /*------------------------------------------------------------------------- - * H5G_GROUP - *------------------------------------------------------------------------- - */ - case H5G_GROUP: + * H5TRAV_TYPE_GROUP + *------------------------------------------------------------------------- + */ + case H5TRAV_TYPE_GROUP: if (options->verbose) printf(FORMAT_OBJ,"group",travt->objs[i].name ); /*------------------------------------------------------------------------- - * the root is a special case, we get an ID for the root group - * and copy its attributes using that ID - *------------------------------------------------------------------------- - */ + * the root is a special case, we get an ID for the root group + * and copy its attributes using that ID + *------------------------------------------------------------------------- + */ if(HDstrcmp(travt->objs[i].name, "/") == 0) { if ((grp_out = H5Gopen2(fidout, "/", H5P_DEFAULT)) < 0) goto error; @@ -360,9 +360,9 @@ int do_copy_objects(hid_t fidin, goto error; /*------------------------------------------------------------------------- - * copy attrs - *------------------------------------------------------------------------- - */ + * copy attrs + *------------------------------------------------------------------------- + */ if (copy_attr(grp_in,grp_out,options)<0) goto error; @@ -378,10 +378,10 @@ int do_copy_objects(hid_t fidin, break; /*------------------------------------------------------------------------- - * H5G_DATASET - *------------------------------------------------------------------------- - */ - case H5G_DATASET: + * H5TRAV_TYPE_DATASET + *------------------------------------------------------------------------- + */ + case H5TRAV_TYPE_DATASET: has_filter = 0; @@ -399,11 +399,11 @@ int do_copy_objects(hid_t fidin, /*------------------------------------------------------------------------- - * check if we should use H5Ocopy or not - * if there is a request for filters/layout, we read/write the object - * otherwise we do a copy using H5Ocopy - *------------------------------------------------------------------------- - */ + * check if we should use H5Ocopy or not + * if there is a request for filters/layout, we read/write the object + * otherwise we do a copy using H5Ocopy + *------------------------------------------------------------------------- + */ if (options->op_tbl->nelems || options->all_filter==1 || options->all_layout==1 @@ -445,7 +445,7 @@ int do_copy_objects(hid_t fidin, * 1) the external filters GZIP and SZIP might not be available * 2) the internal filters might be turned off *------------------------------------------------------------------------- - */ + */ if (h5tools_canreadf((travt->objs[i].name),dcpl_id)==1) { apply_s=1; @@ -473,11 +473,11 @@ int do_copy_objects(hid_t fidin, } /*------------------------------------------------------------------------- - * create the output dataset; - * disable error checking in case the dataset cannot be created with the - * modified dcpl; in that case use the original instead - *------------------------------------------------------------------------- - */ + * create the output dataset; + * disable error checking in case the dataset cannot be created with the + * modified dcpl; in that case use the original instead + *------------------------------------------------------------------------- + */ H5E_BEGIN_TRY { dset_out=H5Dcreate(fidout,travt->objs[i].name,wtype_id,f_space_id,dcpl_out); } H5E_END_TRY; @@ -489,9 +489,9 @@ int do_copy_objects(hid_t fidin, } /*------------------------------------------------------------------------- - * read/write - *------------------------------------------------------------------------- - */ + * read/write + *------------------------------------------------------------------------- + */ if (nelmts) { size_t need = (size_t)(nelmts*msize); /* bytes needed */ @@ -532,9 +532,9 @@ int do_copy_objects(hid_t fidin, vl_data = TRUE; /* - * determine the strip mine size and allocate a buffer. The strip mine is - * a hyperslab whose size is manageable. - */ + * determine the strip mine size and allocate a buffer. The strip mine is + * a hyperslab whose size is manageable. + */ sm_nbytes = p_type_nbytes; for (k = rank; k > 0; --k) { @@ -606,9 +606,9 @@ int do_copy_objects(hid_t fidin, }/*nelmts*/ /*------------------------------------------------------------------------- - * amount of compression used - *------------------------------------------------------------------------- - */ + * amount of compression used + *------------------------------------------------------------------------- + */ if (options->verbose) { if (apply_s && apply_f) @@ -636,9 +636,9 @@ int do_copy_objects(hid_t fidin, } /* verbose */ /*------------------------------------------------------------------------- - * copy attrs - *------------------------------------------------------------------------- - */ + * copy attrs + *------------------------------------------------------------------------- + */ if (copy_attr(dset_in,dset_out,options)<0) goto error; @@ -651,9 +651,9 @@ int do_copy_objects(hid_t fidin, /*------------------------------------------------------------------------- - * close - *------------------------------------------------------------------------- - */ + * close + *------------------------------------------------------------------------- + */ if (H5Tclose(ftype_id)<0) goto error; if (H5Tclose(wtype_id)<0) @@ -669,9 +669,9 @@ int do_copy_objects(hid_t fidin, } /*------------------------------------------------------------------------- - * we do not have request for filter/chunking use H5Ocopy instead - *------------------------------------------------------------------------- - */ + * we do not have request for filter/chunking use H5Ocopy instead + *------------------------------------------------------------------------- + */ else { hid_t pid; @@ -685,9 +685,9 @@ int do_copy_objects(hid_t fidin, goto error; /*------------------------------------------------------------------------- - * do the copy - *------------------------------------------------------------------------- - */ + * do the copy + *------------------------------------------------------------------------- + */ if (H5Ocopy(fidin, /* Source file or group identifier */ travt->objs[i].name, /* Name of the source object to be copied */ @@ -703,9 +703,9 @@ int do_copy_objects(hid_t fidin, /*------------------------------------------------------------------------- - * copy attrs manually - *------------------------------------------------------------------------- - */ + * copy attrs manually + *------------------------------------------------------------------------- + */ if ((dset_in=H5Dopen(fidin,travt->objs[i].name))<0) goto error; if ((dset_out=H5Dopen(fidout,travt->objs[i].name))<0) @@ -723,10 +723,10 @@ int do_copy_objects(hid_t fidin, break; /*------------------------------------------------------------------------- - * H5G_TYPE - *------------------------------------------------------------------------- - */ - case H5G_TYPE: + * H5TRAV_TYPE_NAMED_DATATYPE + *------------------------------------------------------------------------- + */ + case H5TRAV_TYPE_NAMED_DATATYPE: if ((type_in = H5Topen (fidin,travt->objs[i].name))<0) goto error; @@ -738,9 +738,9 @@ int do_copy_objects(hid_t fidin, goto error; /*------------------------------------------------------------------------- - * copy attrs - *------------------------------------------------------------------------- - */ + * copy attrs + *------------------------------------------------------------------------- + */ if (copy_attr(type_in,type_out,options)<0) goto error; @@ -756,16 +756,16 @@ int do_copy_objects(hid_t fidin, /*------------------------------------------------------------------------- - * H5G_LINK - * H5G_UDLINK - * - * Only handles external links; H5Lcopy will fail for other UD link types - * since we don't have creation or copy callbacks for them. - *------------------------------------------------------------------------- - */ - - case H5G_LINK: - case H5G_UDLINK: + * H5TRAV_TYPE_LINK + * H5TRAV_TYPE_UDLINK + * + * Only handles external links; H5Lcopy will fail for other UD link types + * since we don't have creation or copy callbacks for them. + *------------------------------------------------------------------------- + */ + + case H5TRAV_TYPE_LINK: + case H5TRAV_TYPE_UDLINK: { if(H5Lcopy(fidin, travt->objs[i].name,fidout, travt->objs[i].name, H5P_DEFAULT, H5P_DEFAULT) < 0) goto error; diff --git a/tools/h5repack/h5repack_refs.c b/tools/h5repack/h5repack_refs.c index a29ae48..d3dff90 100644 --- a/tools/h5repack/h5repack_refs.c +++ b/tools/h5repack/h5repack_refs.c @@ -352,10 +352,10 @@ int do_copy_refobjs(hid_t fidin, break; /*------------------------------------------------------------------------- - * H5G_LINK + * H5TRAV_TYPE_LINK *------------------------------------------------------------------------- */ - case H5G_LINK: + case H5TRAV_TYPE_LINK: /*nothing to do */ break; diff --git a/tools/h5repack/h5repack_verify.c b/tools/h5repack/h5repack_verify.c index 6c02e92..04b856f 100644 --- a/tools/h5repack/h5repack_verify.c +++ b/tools/h5repack/h5repack_verify.c @@ -248,9 +248,7 @@ int h5repack_verify(const char *fname, { char* name=travt->objs[i].name; - switch ( travt->objs[i].type ) - { - case H5G_DATASET: + if ( travt->objs[i].type == H5TRAV_TYPE_DATASET) { /*------------------------------------------------------------------------- * open @@ -296,11 +294,7 @@ int h5repack_verify(const char *fname, goto error; if (H5Dclose(dset_id)<0) goto error; - - break; - default: - break; - } /* switch */ + } /* if */ } /* i */ @@ -402,20 +396,7 @@ int h5repack_cmpdcpl(const char *fname1, for ( i=0; i < travt1->nobjs; i++) { - switch ( travt1->objs[i].type ) - { -/*------------------------------------------------------------------------- - * nothing to do for groups, links and types - *------------------------------------------------------------------------- - */ - default: - break; - -/*------------------------------------------------------------------------- - * H5G_DATASET - *------------------------------------------------------------------------- - */ - case H5G_DATASET: + if ( travt1->objs[i].type == H5TRAV_TYPE_DATASET) { if ((dset1=H5Dopen(fid1,travt1->objs[i].name))<0) goto error; if ((dset2=H5Dopen(fid2,travt1->objs[i].name))<0) @@ -450,10 +431,7 @@ int h5repack_cmpdcpl(const char *fname1, goto error; if (H5Dclose(dset2)<0) goto error; - - break; - - } /*switch*/ + } /*if*/ } /*i*/ /*------------------------------------------------------------------------- diff --git a/tools/h5stat/h5stat.c b/tools/h5stat/h5stat.c index 54c517d..0f5f0a5 100644 --- a/tools/h5stat/h5stat.c +++ b/tools/h5stat/h5stat.c @@ -115,16 +115,11 @@ static int display_group = FALSE; static int display_dset_metadata = FALSE; static int display_dset = FALSE; static int display_dtype_metadata = FALSE; -/* Not used yet 11/17/06 EIP -static int display_dtype = FALSE; -*/ static int display_object = FALSE; static int display_attr = FALSE; /* a structure for handling the order command-line parameters come in */ struct handler_t { - void (*func)(void *); - int flag; char *obj; }; @@ -734,47 +729,58 @@ dataset_stats(hid_t group, const char *name, const H5O_info_t *oi, iter_t *iter) *------------------------------------------------------------------------- */ static herr_t -walk(hid_t group, const char *name, const H5L_info_t UNUSED *linfo, void *_iter) +walk(hid_t group, const char *name, const H5L_info_t *linfo, void *_iter) { iter_t *iter = (iter_t *)_iter; - H5O_info_t oi; char *fullname = NULL; - char *s; herr_t ret; /* Generic return value */ - /* Get the full object name */ - fullname = fix_name(iter->container, name); - - /* Get object information */ - ret = H5Oget_info(group, name, &oi, H5P_DEFAULT); - assert(ret >= 0); - - /* If the object has already been printed then just show the object ID - * and return. */ - if((s = sym_lookup(&oi))) { - printf("%s same as %s\n", name, s); - } else { - sym_insert(&oi, fullname); - - /* Gather some statistics about the object */ - if(oi.rc > iter->max_links) - iter->max_links = oi.rc; - - switch(oi.type) { - case H5G_GROUP: - group_stats(group, name, fullname, &oi, walk, iter); - break; + if(!linfo || linfo->type == H5L_TYPE_HARD) { + H5O_info_t oi; + char *s; + + /* Get object information */ + ret = H5Oget_info(group, name, &oi, H5P_DEFAULT); + assert(ret >= 0); + + /* If the object has already been printed then just show the object ID + * and return. */ + if((s = sym_lookup(&oi))) { + printf("%s same as %s\n", name, s); + } else { + /* Get the full object name */ + fullname = fix_name(iter->container, name); + sym_insert(&oi, fullname); + + /* Gather some statistics about the object */ + if(oi.rc > iter->max_links) + iter->max_links = oi.rc; + + switch(oi.type) { + case H5O_TYPE_GROUP: + group_stats(group, name, fullname, &oi, walk, iter); + break; - case H5G_DATASET: - dataset_stats(group, name, &oi, iter); - break; + case H5O_TYPE_DATASET: + dataset_stats(group, name, &oi, iter); + break; - case H5G_TYPE: - /* Gather statistics about this type of object */ - iter->uniq_types++; - break; + case H5O_TYPE_NAMED_DATATYPE: + /* Gather statistics about this type of object */ + iter->uniq_types++; + break; - case H5G_LINK: + default: + /* Gather statistics about this type of object */ + iter->uniq_others++; + break; + } /* end switch */ + } + } /* end if */ + else { + switch(linfo->type) { + case H5L_TYPE_SOFT: + case H5L_TYPE_EXTERNAL: /* Gather statistics about links and UD links */ iter->uniq_links++; break; @@ -783,8 +789,8 @@ walk(hid_t group, const char *name, const H5L_info_t UNUSED *linfo, void *_iter) /* Gather statistics about this type of object */ iter->uniq_others++; break; - } /* end switch */ - } + } /* end switch() */ + } /* end else */ if(fullname) free(fullname); @@ -823,66 +829,77 @@ parse_command_line(int argc, const char *argv[]) /* parse command line options */ while ((opt = get_option(argc, argv, s_opts, l_opts)) != EOF) { switch ((char)opt) { - case 'A': - display_all = FALSE; - display_attr = TRUE; - break; - case 'F': - display_all = FALSE; - display_file_metadata = TRUE; - break; - case 'f': - display_all = FALSE; - display_file = TRUE; - break; - case 'G': - display_all = FALSE; - display_group_metadata = TRUE; - break; - case 'g': - display_all = FALSE; - display_group = TRUE; - break; - case 'T': - display_all = FALSE; - display_dtype_metadata = TRUE; - break; - case 'D': - display_all = FALSE; - display_dset_metadata = TRUE; - break; - case 'd': - display_all = FALSE; - display_dset = TRUE; - break; - case 'h': - usage(progname); - leave(EXIT_SUCCESS); - case 'V': - print_version(progname); - leave(EXIT_SUCCESS); - break; - case 'O': - display_object = TRUE; - for (i = 0; i < argc; i++) - if (!hand[i].obj) { - hand[i].obj = HDstrdup(opt_arg); - hand[i].flag = 1; - break; - } - break; - default: - usage(progname); - leave(EXIT_FAILURE); - } - } + case 'A': + display_all = FALSE; + display_attr = TRUE; + break; + + case 'F': + display_all = FALSE; + display_file_metadata = TRUE; + break; + + case 'f': + display_all = FALSE; + display_file = TRUE; + break; + + case 'G': + display_all = FALSE; + display_group_metadata = TRUE; + break; + + case 'g': + display_all = FALSE; + display_group = TRUE; + break; + + case 'T': + display_all = FALSE; + display_dtype_metadata = TRUE; + break; + + case 'D': + display_all = FALSE; + display_dset_metadata = TRUE; + break; + + case 'd': + display_all = FALSE; + display_dset = TRUE; + break; + + case 'h': + usage(progname); + leave(EXIT_SUCCESS); + + case 'V': + print_version(progname); + leave(EXIT_SUCCESS); + break; + + case 'O': + display_object = TRUE; + for(i = 0; i < argc; i++) + if(!hand[i].obj) { + hand[i].obj = HDstrdup(opt_arg); + break; + } /* end if */ + break; + + default: + usage(progname); + leave(EXIT_FAILURE); + } /* end switch */ + } /* end while */ /* check for file name to be processed */ if (argc <= opt_ind) { error_msg(progname, "missing file name\n"); usage(progname); leave(EXIT_FAILURE); - } + } /* end if */ + return hand; } @@ -1322,9 +1339,8 @@ main(int argc, const char *argv[]) } fname = argv[opt_ind]; - hand[opt_ind].obj = root; - hand[opt_ind].flag = 1; - if (display_object) hand[opt_ind].flag = 0; + if(!display_object) + hand[0].obj = root; printf("Filename: %s\n", fname); @@ -1348,14 +1364,12 @@ main(int argc, const char *argv[]) } /* Walk the objects or all file */ - for(i = 0; i < argc; i++) { - if(hand[i].obj) { - if(hand[i].flag) { - walk(fid, hand[i].obj, NULL, &iter); - print_statistics(hand[i].obj, &iter); - } - } - } + i = 0; + while(hand[i].obj) { + walk(fid, hand[i].obj, NULL, &iter); + print_statistics(hand[i].obj, &iter); + i++; + } /* end while */ free(hand); diff --git a/tools/lib/h5diff.c b/tools/lib/h5diff.c index e0174b0..3edd6e8 100644 --- a/tools/lib/h5diff.c +++ b/tools/lib/h5diff.c @@ -453,14 +453,14 @@ hsize_t diff_match(hid_t file1_id, */ /*Set up args to pass to worker task. */ - if(strlen(table->objs[i].name) > 255) { + if(HDstrlen(table->objs[i].name) > 255) { printf("The parallel diff only supports object names up to 255 characters\n"); MPI_Abort(MPI_COMM_WORLD, 0); } /* end if */ HDstrcpy(args.name, table->objs[i].name); args.options = *options; - args.type= table->objs[i].type; + args.type = table->objs[i].type; h5diffdebug2("busyTasks=%d\n", busyTasks); /* if there are any outstanding print requests, let's handle one. */ @@ -516,7 +516,7 @@ hsize_t diff_match(hid_t file1_id, for(n = 1; (n < g_nTasks) && !workerFound; n++) { if(workerTasks[n-1]) { /* send file id's and names to first free worker */ - MPI_Send(&args, sizeof(struct diff_args), MPI_BYTE, n, MPI_TAG_ARGS, MPI_COMM_WORLD); + MPI_Send(&args, sizeof(args), MPI_BYTE, n, MPI_TAG_ARGS, MPI_COMM_WORLD); /* increment counter for total number of prints. */ busyTasks++; @@ -547,7 +547,7 @@ hsize_t diff_match(hid_t file1_id, nfound += nFoundbyWorker.nfound; options->not_cmp = options->not_cmp | nFoundbyWorker.not_cmp; /* send this task the work unit. */ - MPI_Send(&args, sizeof(struct diff_args), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_ARGS, MPI_COMM_WORLD); + MPI_Send(&args, sizeof(args), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_ARGS, MPI_COMM_WORLD); } /* end if */ } /* end while */ } /* end if */ @@ -560,7 +560,7 @@ hsize_t diff_match(hid_t file1_id, MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_DONE, MPI_COMM_WORLD, &Status); nfound += nFoundbyWorker.nfound; options->not_cmp = options->not_cmp | nFoundbyWorker.not_cmp; - MPI_Send(&args, sizeof(struct diff_args), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_ARGS, MPI_COMM_WORLD); + MPI_Send(&args, sizeof(args), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_ARGS, MPI_COMM_WORLD); } /* end if */ else if(Status.MPI_TAG == MPI_TAG_TOK_REQUEST) { int incomingMessage; @@ -577,7 +577,7 @@ hsize_t diff_match(hid_t file1_id, MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD, &Status); nfound += nFoundbyWorker.nfound; options->not_cmp = options->not_cmp | nFoundbyWorker.not_cmp; - MPI_Send(&args, sizeof(struct diff_args), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_ARGS, MPI_COMM_WORLD); + MPI_Send(&args, sizeof(args), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_ARGS, MPI_COMM_WORLD); } /* end else-if */ else { printf("ERROR: Invalid tag (%d) received \n", Status.MPI_TAG); @@ -744,10 +744,9 @@ hsize_t diff_compare (hid_t file1_id, if (info1->paths[i].type != info2->paths[j].type) { if (options->m_verbose) - parallel_print - ("Comparison not possible: <%s> is of type %s and <%s> is of type %s\n", - obj1_name, get_type (info1->paths[i].type), obj2_name, - get_type (info2->paths[j].type)); + parallel_print("Comparison not possible: <%s> is of type %s and <%s> is of type %s\n", + obj1_name, get_type(info1->paths[i].type), obj2_name, + get_type(info2->paths[j].type)); options->not_cmp=1; return 0; } diff --git a/tools/lib/h5diff.h b/tools/lib/h5diff.h index 60e96b2..373eeed 100644 --- a/tools/lib/h5diff.h +++ b/tools/lib/h5diff.h @@ -150,7 +150,7 @@ void print_found(hsize_t nfound); void parallel_print(const char* format, ... ); void print_type(hid_t type); const char* diff_basename(const char *name); -const char* get_type(int type); +const char* get_type(h5trav_type_t type); const char* get_class(H5T_class_t tclass); const char* get_sign(H5T_sign_t sign); void print_dimensions (int rank, hsize_t *dims); diff --git a/tools/lib/h5diff_util.c b/tools/lib/h5diff_util.c index bd8207f..9e9c556 100644 --- a/tools/lib/h5diff_util.c +++ b/tools/lib/h5diff_util.c @@ -261,23 +261,22 @@ diff_basename(const char *name) *------------------------------------------------------------------------- */ const char* -get_type(int type) +get_type(h5trav_type_t type) { - switch (type) - { - case H5G_DATASET: - return("H5G_DATASET"); - case H5G_GROUP: - return("H5G_GROUP"); - case H5G_TYPE: - return("H5G_TYPE"); - case H5G_LINK: - return("H5G_LINK"); - case H5G_UDLINK: - return("H5G_UDLINK"); - default: - return("user defined type"); - } + switch(type) { + case H5TRAV_TYPE_DATASET: + return("H5G_DATASET"); + case H5TRAV_TYPE_GROUP: + return("H5G_GROUP"); + case H5TRAV_TYPE_NAMED_DATATYPE: + return("H5G_TYPE"); + case H5TRAV_TYPE_LINK: + return("H5G_LINK"); + case H5TRAV_TYPE_UDLINK: + return("H5G_UDLINK"); + default: + return("unknown type"); + } } /*------------------------------------------------------------------------- diff --git a/tools/lib/ph5diff.h b/tools/lib/ph5diff.h index d904095..3ad158f 100644 --- a/tools/lib/ph5diff.h +++ b/tools/lib/ph5diff.h @@ -41,7 +41,7 @@ extern FILE * overflow_file; struct diff_args { char name[256]; - H5G_obj_t type; + h5trav_type_t type; diff_opt_t options; }; |