From 5436f45bd11f2867b3c9e93b976df427a0ffb10e Mon Sep 17 00:00:00 2001 From: Quincey Koziol Date: Tue, 3 Feb 2009 07:11:07 -0500 Subject: [svn-r16403] Description: Bring r16395:16402 back from trunk (and adjust slightly for layout version changes). Tested on: FreeBSD/32 6.3 (duty) (h5committest not required on this branch) --- MANIFEST | 1 + README.txt | 2 +- config/lt_vers.am | 2 +- configure | 22 ++++++++-------- configure.in | 2 +- release_docs/RELEASE.txt | 2 +- src/H5Dchunk.c | 5 ---- src/H5Gobj.c | 3 --- src/H5Goh.c | 37 +++++++++++++++------------ src/H5Olayout.c | 3 ++- src/H5public.h | 4 +-- src/Makefile.in | 2 +- test/Makefile.in | 4 +-- tools/h5repack/h5repack.sh.in | 5 ++++ tools/h5repack/testfiles/h5repack_layouto.h5 | Bin 0 -> 1576 bytes vms/src/h5pubconf.h | 6 ++--- windows/src/H5pubconf.h | 6 ++--- 17 files changed, 55 insertions(+), 51 deletions(-) create mode 100644 tools/h5repack/testfiles/h5repack_layouto.h5 diff --git a/MANIFEST b/MANIFEST index b523b18..1d4c795 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1501,6 +1501,7 @@ ./tools/h5repack/testfiles/h5repack_attr.h5 ./tools/h5repack/testfiles/h5repack_hlink.h5 ./tools/h5repack/testfiles/h5repack_layout.h5 +./tools/h5repack/testfiles/h5repack_layouto.h5 ./tools/h5repack/testfiles/h5repack_early.h5 ./tools/h5repack/testfiles/h5repack_szip.h5 ./tools/h5repack/testfiles/h5repack_deflate.h5 diff --git a/README.txt b/README.txt index 2d9aef6..fe64891 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -HDF5 version 1.9.29 currently under development +HDF5 version 1.9.30 currently under development ==> README.txt <== Messages to be sent to the list should be sent to "@hdfgroup.org". diff --git a/config/lt_vers.am b/config/lt_vers.am index 64bacbe..2821e1f 100644 --- a/config/lt_vers.am +++ b/config/lt_vers.am @@ -17,7 +17,7 @@ # Add libtool shared library version numbers to the HDF5 library # See libtool versioning documentation online. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 19 +LT_VERS_REVISION = 20 LT_VERS_AGE = 0 ## If the API changes *at all*, increment LT_VERS_INTERFACE and diff --git a/configure b/configure index 8701756..3407690 100755 --- a/configure +++ b/configure @@ -1,7 +1,7 @@ #! /bin/sh -# From configure.in Id: configure.in 16329 2009-01-18 11:04:40Z hdftest . +# From configure.in Id: configure.in 16344 2009-01-25 12:22:44Z hdftest . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for HDF5 1.9.29. +# Generated by GNU Autoconf 2.61 for HDF5 1.9.30. # # Report bugs to . # @@ -724,8 +724,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='HDF5' PACKAGE_TARNAME='hdf5' -PACKAGE_VERSION='1.9.29' -PACKAGE_STRING='HDF5 1.9.29' +PACKAGE_VERSION='1.9.30' +PACKAGE_STRING='HDF5 1.9.30' PACKAGE_BUGREPORT='help@hdfgroup.org' ac_unique_file="src/H5.c" @@ -1501,7 +1501,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures HDF5 1.9.29 to adapt to many kinds of systems. +\`configure' configures HDF5 1.9.30 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1571,7 +1571,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of HDF5 1.9.29:";; + short | recursive ) echo "Configuration of HDF5 1.9.30:";; esac cat <<\_ACEOF @@ -1753,7 +1753,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -HDF5 configure 1.9.29 +HDF5 configure 1.9.30 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1767,7 +1767,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by HDF5 $as_me 1.9.29, which was +It was created by HDF5 $as_me 1.9.30, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -2462,7 +2462,7 @@ fi # Define the identity of the package. PACKAGE='hdf5' - VERSION='1.9.29' + VERSION='1.9.30' cat >>confdefs.h <<_ACEOF @@ -51948,7 +51948,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by HDF5 $as_me 1.9.29, which was +This file was extended by HDF5 $as_me 1.9.30, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -52001,7 +52001,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -HDF5 config.status 1.9.29 +HDF5 config.status 1.9.30 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.in b/configure.in index 05cd52d..4fc9bd0 100644 --- a/configure.in +++ b/configure.in @@ -26,7 +26,7 @@ dnl dnl NOTE: Don't forget to change the version number here when we do a dnl release!!! dnl -AC_INIT([HDF5], [1.9.29], [help@hdfgroup.org]) +AC_INIT([HDF5], [1.9.30], [help@hdfgroup.org]) AC_CONFIG_SRCDIR([src/H5.c]) AM_CONFIG_HEADER([src/H5config.h]) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 7ca6ecf..d544e87 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -1,4 +1,4 @@ -HDF5 version 1.9.29 currently under development +HDF5 version 1.9.30 currently under development ================================================================================ diff --git a/src/H5Dchunk.c b/src/H5Dchunk.c index 1437d58..9e04e7f 100644 --- a/src/H5Dchunk.c +++ b/src/H5Dchunk.c @@ -2582,11 +2582,6 @@ H5D_chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, else { H5D_fill_value_t fill_status; -#ifdef OLD_WAY - /* Clear the error stack from not finding the chunk on disk */ - H5E_clear_stack(NULL); -#endif /* OLD_WAY */ - /* Chunk size on disk isn't [likely] the same size as the final chunk * size in memory, so allocate memory big enough. */ if(NULL == (chunk = H5D_chunk_alloc(chunk_size, pline))) diff --git a/src/H5Gobj.c b/src/H5Gobj.c index e0d5434..a6b2d7f 100644 --- a/src/H5Gobj.c +++ b/src/H5Gobj.c @@ -1066,9 +1066,6 @@ H5G_obj_remove_by_idx(H5O_loc_t *grp_oloc, H5RS_str_t *grp_full_path_r, } /* end else */ } /* end if */ else { - /* Clear error stack from not finding the link info message */ - H5E_clear_stack(NULL); - /* Can only perform name lookups on groups with symbol tables */ if(idx_type != H5_INDEX_NAME) HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "no creation order index to query") diff --git a/src/H5Goh.c b/src/H5Goh.c index 2dab8aa..aa0fbe6 100644 --- a/src/H5Goh.c +++ b/src/H5Goh.c @@ -260,9 +260,9 @@ done: herr_t H5O_group_bh_info(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5_ih_info_t *bh_info) { - H5O_linfo_t linfo; /* Link info message */ - H5HF_t *fheap = NULL; /* Fractal heap handle */ - herr_t ret_value = SUCCEED; /* Return value */ + htri_t exists; /* Flag if header message of interest exists */ + H5HF_t *fheap = NULL; /* Fractal heap handle */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(H5O_group_bh_info, FAIL) @@ -272,21 +272,15 @@ H5O_group_bh_info(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5_ih_info_t *bh_info) HDassert(bh_info); /* Check for "new style" group info */ - if(NULL == H5O_msg_read_oh(f, dxpl_id, oh, H5O_LINFO_ID, &linfo)) { - H5O_stab_t stab; /* Info about symbol table */ - - /* Must be "old style" group, clear error stack */ - H5E_clear_stack(NULL); + if((exists = H5O_msg_exists_oh(oh, H5O_LINFO_ID)) < 0) + HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header") + if(exists > 0) { + H5O_linfo_t linfo; /* Link info message */ - /* Get symbol table message */ - if(NULL == H5O_msg_read_oh(f, dxpl_id, oh, H5O_STAB_ID, &stab)) - HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't find LINFO nor STAB messages") + /* Get "new style" group info */ + if(NULL == H5O_msg_read_oh(f, dxpl_id, oh, H5O_LINFO_ID, &linfo)) + HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't read LINFO message") - /* Get symbol table size info */ - if(H5G_stab_bh_size(f, dxpl_id, &stab, bh_info) < 0) - HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't retrieve symbol table size info") - } /* end if */ - else { /* LINFO */ /* Get creation order B-tree size, if available */ if(H5F_addr_defined(linfo.corder_bt2_addr)) if(H5B2_iterate_size(f, dxpl_id, H5G_BT2_CORDER, linfo.corder_bt2_addr, &bh_info->index_size) < 0) @@ -312,6 +306,17 @@ H5O_group_bh_info(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5_ih_info_t *bh_info) HGOTO_ERROR(H5E_HEAP, H5E_CLOSEERROR, FAIL, "can't close fractal heap") fheap = NULL; } /* end if */ + } /* end if */ + else { + H5O_stab_t stab; /* Info about symbol table */ + + /* Must be "old style" group, get symbol table message */ + if(NULL == H5O_msg_read_oh(f, dxpl_id, oh, H5O_STAB_ID, &stab)) + HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't find LINFO nor STAB messages") + + /* Get symbol table size info */ + if(H5G_stab_bh_size(f, dxpl_id, &stab, bh_info) < 0) + HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't retrieve symbol table size info") } /* end else */ done: diff --git a/src/H5Olayout.c b/src/H5Olayout.c index f2bfab0..9ca6ba6 100644 --- a/src/H5Olayout.c +++ b/src/H5Olayout.c @@ -343,7 +343,8 @@ H5O_layout_encode(H5F_t *f, hbool_t UNUSED disable_shared, uint8_t *p, const voi HDassert(p); /* Message version */ - *p++ = (uint8_t)mesg->version; + *p++ = (uint8_t)((mesg->version < H5O_LAYOUT_VERSION_3) ? + H5O_LAYOUT_VERSION_3 : mesg->version); /* Layout class */ *p++ = mesg->type; diff --git a/src/H5public.h b/src/H5public.h index c1a8449..db2d407 100644 --- a/src/H5public.h +++ b/src/H5public.h @@ -71,10 +71,10 @@ extern "C" { /* Version numbers */ #define H5_VERS_MAJOR 1 /* For major interface/format changes */ #define H5_VERS_MINOR 9 /* For minor interface/format changes */ -#define H5_VERS_RELEASE 29 /* For tweaks, bug-fixes, or development */ +#define H5_VERS_RELEASE 30 /* For tweaks, bug-fixes, or development */ #define H5_VERS_SUBRELEASE "" /* For pre-releases like snap0 */ /* Empty string for real releases. */ -#define H5_VERS_INFO "HDF5 library version: 1.9.29" /* Full version string */ +#define H5_VERS_INFO "HDF5 library version: 1.9.30" /* Full version string */ #define H5check() H5check_version(H5_VERS_MAJOR,H5_VERS_MINOR, \ H5_VERS_RELEASE) diff --git a/src/Makefile.in b/src/Makefile.in index 6638703..96b1f3a 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -408,7 +408,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # Add libtool shared library version numbers to the HDF5 library # See libtool versioning documentation online. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 19 +LT_VERS_REVISION = 20 LT_VERS_AGE = 0 H5detect_CFLAGS = -g diff --git a/test/Makefile.in b/test/Makefile.in index d2e9484..45f3aa7 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -639,8 +639,8 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog cmpd_dset.h5 \ unlink.h5 unicode.h5 coord.h5 fillval_[0-9].h5 fillval.raw \ mount_[0-9].h5 testmeta.h5 ttime.h5 trefer[1-3].h5 tvltypes.h5 \ tvlstr.h5 tvlstr2.h5 flush.h5 enum1.h5 titerate.h5 ttsafe.h5 \ - tarray1.h5 tgenprop.h5 tmisc[0-9]*.h5 set_extent_read.h5 \ - set_extent_create.h5 getname.h5 getname[1-3].h5 sec2_file.h5 \ + tarray1.h5 tgenprop.h5 tmisc[0-9]*.h5 set_extent[1-5].h5 \ + ext[12].bin getname.h5 getname[1-3].h5 sec2_file.h5 \ direct_file.h5 family_file000[0-3][0-9].h5 multi_file-[rs].h5 \ core_file new_move_[ab].h5 ntypes.h5 dangle.h5 error_test.h5 \ err_compat.h5 dtransform.h5 test_filters.h5 get_file_name.h5 \ diff --git a/tools/h5repack/h5repack.sh.in b/tools/h5repack/h5repack.sh.in index 422c8dd..ba3bdfe 100755 --- a/tools/h5repack/h5repack.sh.in +++ b/tools/h5repack/h5repack.sh.in @@ -51,6 +51,8 @@ FILE10=h5repack_fletcher.h5 FILE11=h5repack_filters.h5 FILE12=h5repack_nbit.h5 FILE13=h5repack_soffset.h5 +FILE14=h5repack_layouto.h5 # A file with an older version of the layout message + # (copy of test/tlayouto.h5) nerrors=0 @@ -498,6 +500,9 @@ TOOLTEST $arg arg="$FILE1 -t 1 -a 1 " TOOLTEST $arg +# Check repacking file with old version of layout message (should get upgraded +# to new version and be readable, etc.) +TOOLTEST $FILE14 if test $nerrors -eq 0 ; then echo "All $H5REPACK tests passed." diff --git a/tools/h5repack/testfiles/h5repack_layouto.h5 b/tools/h5repack/testfiles/h5repack_layouto.h5 new file mode 100644 index 0000000..a038e68 Binary files /dev/null and b/tools/h5repack/testfiles/h5repack_layouto.h5 differ diff --git a/vms/src/h5pubconf.h b/vms/src/h5pubconf.h index 3991ad3..4ab1766 100644 --- a/vms/src/h5pubconf.h +++ b/vms/src/h5pubconf.h @@ -480,13 +480,13 @@ #define H5_PACKAGE_NAME "HDF5" /* Define to the full name and version of this package. */ -#define H5_PACKAGE_STRING "HDF5 1.9.29" +#define H5_PACKAGE_STRING "HDF5 1.9.30" /* Define to the one symbol short name of this package. */ #define H5_PACKAGE_TARNAME "hdf5" /* Define to the version of this package. */ -#define H5_PACKAGE_VERSION "1.9.29" +#define H5_PACKAGE_VERSION "1.9.30" /* Width for printf() for type `long long' or `__int64', use `ll' */ #define H5_PRINTF_LL_WIDTH "ll" @@ -639,7 +639,7 @@ /* #undef H5_USING_MEMCHECKER */ /* Version number of package */ -#define H5_VERSION "1.9.29" +#define H5_VERSION "1.9.30" /* Define if vsnprintf() returns the correct value for formatted strings that don't fit into size allowed */ diff --git a/windows/src/H5pubconf.h b/windows/src/H5pubconf.h index 3f36974..5c6e550 100755 --- a/windows/src/H5pubconf.h +++ b/windows/src/H5pubconf.h @@ -475,13 +475,13 @@ #define H5_PACKAGE_NAME "HDF5" /* Define to the full name and version of this package. */ -#define H5_PACKAGE_STRING "HDF5 1.9.29" +#define H5_PACKAGE_STRING "HDF5 1.9.30" /* Define to the one symbol short name of this package. */ #define H5_PACKAGE_TARNAME "hdf5" /* Define to the version of this package. */ -#define H5_PACKAGE_VERSION "1.9.29" +#define H5_PACKAGE_VERSION "1.9.30" /* Width for printf() for type `long long' or `__int64', use `ll' */ #define H5_PRINTF_LL_WIDTH "I64" @@ -638,7 +638,7 @@ /* #undef H5_USING_MEMCHECKER */ /* Version number of package */ -#define H5_VERSION "1.9.29" +#define H5_VERSION "1.9.30" /* Define if vsnprintf() returns the correct value for formatted strings that don't fit into size allowed */ -- cgit v0.12